: b=10.42/200;
: h=100/1000;
: a=2.81/200;
: p=1.64*9.81;
: qu=10550;
: up=(b*h/(a^2))*cosd(O);
: low=(x(i)*(1-sind(O))/2)-sind(O);
: aa(i)=acotd(TO+SeO*(1+(up/low(i)))^0.5);
你上一行的low只有一個值 你在這行卻low(i) 它會出錯很正常
: K(i)=tand(2*aa(i)+O);
: qt(i)=p/(pi*(b*h*K(i)-a^2));
: y(i)=qu/qt(i)
: differ(i)=abs(y(i)-x(i))
: if differ(i)<0.5
: x(i)
: else
: x(i+1)=x(i)+0.05;
: end
然後你在if迴圈裡面你這樣寫代表如果進入if的執行式
你就變成沒有x(i+1)
: end
應該是這兩個問題比較大吧