Borrar filtros
Borrar filtros

Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

Problem with for-while loop, simple coding error?

1 visualización (últimos 30 días)
Olle Haglund
Olle Haglund el 13 de Nov. de 2018
Cerrada: MATLAB Answer Bot el 20 de Ag. de 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 comentarios
Olle Haglund
Olle Haglund el 13 de Nov. de 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 el 13 de Nov. de 2018
The loop you have given certainly changes the D values and terminates after having updated it numerous times.

Respuestas (0)

La pregunta está cerrada.

Community Treasure Hunt

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

Start Hunting!

Translated by