Azzera filtri
Azzera filtri

Info

Questa domanda è chiusa. Riaprila per modificarla o per rispondere.

Problem with for-while loop, simple coding error?

1 visualizzazione (ultimi 30 giorni)
Olle Haglund
Olle Haglund il 13 Nov 2018
Chiuso: MATLAB Answer Bot il 20 Ago 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 Commenti
Olle Haglund
Olle Haglund il 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 il 13 Nov 2018
The loop you have given certainly changes the D values and terminates after having updated it numerous times.

Risposte (0)

Questa domanda è chiusa.

Community Treasure Hunt

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

Start Hunting!

Translated by