フィルターのクリア

Info

この質問は閉じられています。 編集または回答するには再度開いてください。

Problem with for-while loop, simple coding error?

1 回表示 (過去 30 日間)
Olle Haglund
Olle Haglund 2018 年 11 月 13 日
閉鎖済み: MATLAB Answer Bot 2021 年 8 月 20 日
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 件のコメント
Olle Haglund
Olle Haglund 2018 年 11 月 13 日
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 2018 年 11 月 13 日
The loop you have given certainly changes the D values and terminates after having updated it numerous times.

回答 (0 件)

この質問は閉じられています。

Community Treasure Hunt

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

Start Hunting!

Translated by