如何实现多重循环?请教
以下是个FORTRAN程序,实现多重循环,目的是在A(5,11)中实现各种求和,如:A(1,1)~A(1,11)求和后大于一个给定的数,则返回重新求和A(1,1)~A(1,10),直到小于这个数为止,不知如何实现matlab转换?DO 10 I1=1,MK
DO 10 I2=1,MK
DO 10 I3=1,MK
DO 10 I4=1,MK
DO 10 I5=1,MK
DO 10 I6=1,MK
DO 10 I7=1,MK
DO 500 I8=1,M
IF ((I8.EQ.MP).OR.(I8.EQ.MQ)) GOTO 500
DO 900 I9=1,MQ
IF (I9.EQ.MP) GOTO 500
DO 800 I10=1,MK
DO 700 IN=2,MP
Z(K)=0.0
DO 600 IX=5,105,5
.........
......
500 continue
10 continue 由于程序没有给全,只能大概说一下:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
碰到GOTO很多的情况,建议直接用FORTRAN.
一般Matlab可以用while,for实现多重循环,但效率不高.
除非可以"向量化"表达式,一般多重循环还是用FORTRAN较好.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
页:
[1]