while loop keeps running forever
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Jonathan Ashley
el 2 de Dic. de 2022
Comentada: Zahrah Walid
el 3 de Dic. de 2022
I'm having trouble with my while loops. when I run the program it keeps going forever. I dont know if why. Can anyone help?
NCJT=2
NSC=zeros(NCJT*NJ,1)
B=1
C=0
D=NDOF
NS=size(MSUP,1)
while B:NJ
Count=0
B1=1
while B1:NS
while ( (MSUP(B1,1)=B) )
Count=1
B2=1
while ( (MSUP(B1,B2+1)=1) )
B3=(B-1)*NCJT+B2
while ( (B2:NCJT) )
D=D+1
NSC(B3)=D
B2=B2+1
endwhile
endwhile
C=C+1
NSC(B3)=C
endwhile
B1=B1+1
endwhile
while ( (Count=0) )
B2=1
while B2:NCJT
B3=(B-1)*NCJT+B2
C=C+1
NSC(B3)=C
B2=B2+1
endwhile
endwhile
B=B+1
endwhile
2 comentarios
Respuesta aceptada
Zahrah Walid
el 2 de Dic. de 2022
Editada: Zahrah Walid
el 2 de Dic. de 2022
First, it's "end" not "endwhile" for closing the loop.
Second, the condition must be logical value; in other words, you should compare using "==" insteade of "=" in line 11 and 13 and edit the others to be valid conditions (logical values).
2 comentarios
Zahrah Walid
el 3 de Dic. de 2022
You are welcome, Jonathan.
As you are new to MATLAB, I highly recommend you taking MATLAB Onramp course which will give you a suitable base of knowledge to start from. It's free and about 2-hour long only.
Regarding your code, please illustrate its function to debug it.
Más respuestas (1)
John D'Errico
el 2 de Dic. de 2022
Editada: John D'Errico
el 2 de Dic. de 2022
I think you seriously need to spend some time with the MATLAB tutorials.
- while is not terminated by endwhile
- A while loop is not written as: while B:NJ. You probably want to learn what a for loop does instead.
- You perform a test using ==, NOT =. the single = performs an assignment, which is not legal inline like that.
There must be many other problems, since the code you have not written is invalid MATLAB syntax in many places. This code will not run forever. In fact, it will fail to run immediately in MATLAB.
Ver también
Categorías
Más información sobre Function Creation en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!