有時候在使用matlab的時候,想使用for循環,怎麼使用呢?怎麼使用呢?怎麼使用呢?下面360新知帶你一探究竟!
材料/工具
電腦MATLAB
方法
首先介紹一下matlab中for循環的格式,主要有兩種格式,如圖所示。
透過實例來介紹for循環怎麼用,首先求1到5的和,代碼:
Y=0;
for i=1:5
Y=Y+i;
end
fprintf('Y=%d n',Y);如圖所示:
在命令行視窗按回車鍵後,可以看到得出15的結果,如圖所示。
也可以輸出1,0.9,0.8,......,0;的10個數,代碼如圖所示。
在使用for循環的時候,可以使用和if語句來結合使用,break是結束循環,代碼:
for ii = 1:5;
if ii == 3;
break;
end
fprintf('ii = %d n', ii);
end
disp('End of loop!');
可以看到輸出結果1,2,到3的時候結束循環輸出End of loop!,如圖所示:
也可以在for循環的時候,使用continue;結束本次循環,執行結果如圖所示:
擴展閱讀,以下內容您可能還感興趣。
matlab 的for循環裏面,如何把前一次計算的值用於下一次計算?
這是可以的,如:
b(1)=2000;
for k=2:5
b(k)=b(k-1)+b(k-1)*(1+0.9)+200;
end追問b(1)這裏的1可以爲分數嗎?
如果不行的話,我想把這個for循環的結果繪製一個圖像,但是想把K的值變成原來的1/2,也就是說把這個圖像按比例縮放,應該怎麼做……追答b(1)這裏的1是腳標索引,不可以爲分數,只能是正整數。
你說的縮放圖像是有一定方法的,不是這個樣子。如:
b(1)=2000;
a=1/2;
for k=2:5
b(k)=a*b(k-1)+a*b(k-1)*(1+0.9)+200;
end
matlab 多個for循環能不能用同一個i?
平行的百循環是可以用同一個 i 的 ,嵌套的不可以
因爲平行的循環裏度面 ,後面的循環重新賦值覆蓋了之前問的值。
例如
for i=1:3
i
end
for i=1:4
i
end
另外其實matlab裏面最好不要用i做循答環變量,因爲回 matlab裏面 i 同時也是單位虛數,這樣在某些情況下容易因混淆而導致邏輯錯誤答
MATLAB中如何用for循環連續拼接矩陣?
實現拼接根本不需要循環來,一個語句就夠源了(前面load數據zd的部分不變):
cat(1,a{:})示例:
>> a={magic(3); eye(3); ones(3)}a =
[3x3 double]
[3x3 double]
[3x3 double]
>> cat(1,a{:})
ans =
8 1 6
3 5 7
4 9 2
1 0 0
0 1 0
0 0 1
1 1 1
1 1 1
1 1 1
在matlAB中,用for循環賦值的問題
[ys, xs] = find(A==0);
這樣可以返回兩個列向量度xs, ys
分別表示符合回要求的點的行數和列數
然後
ys(1) xs(1) 這就是第一個符答合要求點的座標
ys(end) xs(end)這就是最後一個符合要求點的座標追問爲什麼我讀取的xs的值 是改點的值的三倍。每個點的擴大了三倍。追答A是三通道矩陣吧?
執行
[r, c, p] = size(A)
看看p是多少
matlab中 for循環要怎麼應用應用在哪個方面
最簡單的語句for i=初值:增量zhidao:終值
循環體
end
一般就是用在需要用到循環內的地方,如累加,累乘等運算,還有搜尋,這是用的最多的。
其實我覺得一容個程序肯定不能光有for循環的,但必須承認for循環可以讓整個程序變得簡單有效。