在matlab中實現for迴圈的方法

2022-09-21 08:42:13 字數 1726 閱讀 3585

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時,程式各個系統都暫停了,也要把我的採集硬體部分暫...