for迴圈用來迴圈處理資料。
例:輸出1~100的和
>> clear
>> sum = 0;
>> for i = 1:100
sum = sum +i;
end>> sum
sum =
5050
解釋:i從1到100,每次增加乙個,該共迴圈100次
注意:分號的位置;不能使用「+=」符號;每寫一層迴圈,必須以end結尾
例:輸出1到10之間的奇數和
>> clear
>> sum = 0;
>> for i = 1:2:10
sum = sum + i;
end>> sum
sum =
25解釋:i = 1:2:10中間的2表示步長,表示從1到10,每次增加2,即1,3,5,7,9五個數之和;步長也可以為負數
對向量和矩陣的遍歷 對向量的遍歷
>> clear
>> a = rand(1,4);
>> for i = a
iend
i = 0.9572
i = 0.4854
i = 0.8003
i = 0.1419
解釋:rand函式用於隨機生成0~1之間的數,rand(1,4)生成1*4的列向量。
>> a = magic(4);
>> a
a = 16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
>> for i = a;
iend
i = 16
5程式設計客棧9
4i = 2117
14i = 3106
15i = 13812
1解釋:magic(n)函式用於生成任意一行或一列或主副對角線之和相等的方陣,對矩陣的迴圈遍歷是依次取出矩陣中的每一列元素
break用於終止離它最近的一層for迴圈;
continue用於跳過離它最近的一層for迴圈,接著執行下一次迴圈
>> 程式設計客棧x = 1;
>> for i = 1:2:10
if i > 7
break
else
x = x* i
endend
x = 1
x = 3
x = 15
x = 105
>> sum = 0;
>> for i = 1:6
if i == 4
continue
else
sum = sum + i
endend;
sum =
1sum =
3sum =
6sum =
11sum =
17for迴圈可以按照需要進行巢狀。
>> for i = 1:2:6
for j = 1:3
y = i * j
endend
y = 1
y = 2
y = 3
y = 3
y = 6
y = 9
y = 5
y = 10
y = 15
在matlab中實現PCA演算法
function v,s,e princa x m,n size x 計算矩陣的行m和列n 第一步 標準化矩陣 mv mean x 計算各變數的均值 st std x 計算各變數的標準差 x x repmat mv,m,1 repmat st,m,1 標準化矩陣x 第二步 計算相關係數矩陣 r1 x...
在matlab中實現梯度下降法
梯度下降法的原理,本文不再描述,請參閱其它資料。梯度下降法函式function k ender steepest f,x,e 需要三個引數f x和e,其中f為目標函式,x為初始點,e為終止誤差。輸出也為兩個引數,k表示迭代的次數,ender表示找到的最低點。steepest.m function k...
MATLAB中如何用迴圈實現精確延時
前面在用matlab控制硬體的時候,在每次採集的過程中需要等一段固定的時間再採集訊號。所以這裡就會需要用到延時函式來精確延時,首先想到的就是函式pause time 但執行時發現錯誤,後來弄清楚了,pause的作用是暫停,而不是延時。在執行pause時,程式各個系統都暫停了,也要把我的採集硬體部分暫...