循環:當迭代MATLAB循環時,它不會迭代到指定的值 - 爲什麼?
for h=1:t_max
REST OF CODE
end
如果T_MAX等於100,例如,該循環迭代僅到99或T_MAX-1。
有人可以幫忙嗎?
循環:當迭代MATLAB循環時,它不會迭代到指定的值 - 爲什麼?
for h=1:t_max
REST OF CODE
end
如果T_MAX等於100,例如,該循環迭代僅到99或T_MAX-1。
有人可以幫忙嗎?
t_max是一個計算值嗎?它可能會非常接近100,但不會在那裏,並且由於四捨五入,它將在默認格式設置中顯示爲100。下面是使用T_MAX的較小值的例子:
>> t_max=4.9999999999999
t_max =
5.0000
注T_MAX怎麼看起來像它的5時,這真是一個燈罩小於5在for循環中,將這樣的表現:
>> for i=1:t_max, disp(i),end
1
2
3
4
其外觀只反覆到t_max - 1。但是碰撞格式,並再次查看t_max將顯示更精確的值:
>> format long; t_max
t_max =
4.999999999999900
檢查你沒有修改循環體中的t_max。 for循環的語義是這樣的,它將執行t_max次,檢查official documentation。
迭代的矩陣是在for循環操作開始時計算的,並修改用於在for循環體中計算它的一個或多個值對循環沒有影響。例如嘗試't = 5;對於i = 1:t,t = 10; DISP(ⅰ);結束「,你會發現它只能達到5,而不是10。 – SCFrench 2011-04-24 23:29:31
您需要提供更多詳細信息。對於h = 1:10;顯示器(H);如預期的那樣,「結束」打印10次。 – 2011-04-24 19:42:38
如果您隱藏我們的「REST OF CODE」,我們無法提供幫助。 – abcd 2011-04-24 21:21:35