Clear Filters
Clear Filters

Info

This question is closed. Reopen it to edit or answer.

Problem with for-while loop, simple coding error?

1 view (last 30 days)
Olle Haglund
Olle Haglund on 13 Nov 2018
Closed: MATLAB Answer Bot on 20 Aug 2021
Hi! I Have an assignment at school in which i am supposed to calculate the diameter of a shaft in order to not exceed the stress limit.
Basically i have devided the shaft in to 1000 segments and calculated bending moment, torsion and so on in each segment, so i have vectors describing those things.
Now I want to itterate over each segment to find a diameter that is big enough so it doesn't exceed the stress limit.
for i=1:1000
while ("my stess equation including the diameter, bending moment and so on") > stress limit
D(i)=D(i)+0.0001
end
end
The problem is that the D I get out of the loop is the same as the one I put in (the while loop is fulfilled without increasing the diameter). But when i calculate it without the loop i get values that are in fact larger than the stress limit. Therefore i guess there must be something wrong with my loop, but im not very good at matlab so... Any help is much apreciated!
  4 Comments
Olle Haglund
Olle Haglund on 13 Nov 2018
I cant really give the exact code since my teacher is going to check it for plagiarism but the basic is:
a=[20 40 60 40 20];
D=[5 5 5 5 5]; %just a starting value
for i=1:5
while (a(i)/D(i))>2
D(i)=D(i)+1
end
end
Is the loop written correctly?
Adam
Adam on 13 Nov 2018
The loop you have given certainly changes the D values and terminates after having updated it numerous times.

Answers (0)

This question is closed.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!