MATLAB學習筆記(七)

2021-07-02 19:44:14 字數 3420 閱讀 3752

1)標量之間比較

>> x =5;

>> y = 1;

>> x < y

ans =

0>>

2)矩陣之間比較

>> x =1:5;

>> y = x - 4;

>> x < y

ans =

0 0 0 0 0

3)邏輯運算子包括 &(與) ~(非) |(或) xor(亦或)

>> x =1:5;

>> y = [-2,0,2,4,6];

>> z = [8,8,8,8,8];

>> z > x & z > y

ans =

1 1 1 1 1

注意運算子的優先順序。也可以加括號表示清楚

>> (z > x) & (z > y)

ans =1 1 1 1 1

偽碼是以文字的形式對程式演算法進行描述,在編寫簡單程式時,最好用偽碼的方法。編寫複雜程式時,最好用流程圖和偽碼進行程式設計,將偽碼作為程式的注釋資訊。

注意流程圖的標準符號。

函式find用於查詢矩陣中符合某種條件的元素。

>> height = [63,67,65,72,69,78,75];

>> accept = find(height > 65)

accept =

24567

注意輸出的是所求元素在矩陣中的位置標號

如果需要檢視該身高的數值,可以用元素序號調出該元素

>> height(accept)

ans =67 72 69 78 75

還可以使用巢狀命令:

>> height(find(height >= 66))

ans =

677269

7875

為了增加輸出結果的可讀性,使用函式disp和fprintf顯示輸出結果

>> fprintf('candidate # %4.0f is %4.0f inches tall \n',[accept;height(accept)])

candidate # 2 is 67 inches tall

candidate # 4 is 72 inches tall

candidate # 5 is 69 inches tall

candidate # 6 is 78 inches tall

candidate # 7 is 75 inches tall

複雜查詢定義矩陣,第一列表示身高,第二列表示年齡。查詢矩陣中第一列數值大於66且第二列數值大於18小於35的元素序號。

631867

1965

1872

2069

3678

3475

12pass =

246將序號,身高,年齡合併成為乙個矩陣:

result =

26719472

2067834

1)if 選擇結構

很簡單沒什麼可說的,類似python和c

結構是 if—-elseif—-else——end.

一般來說,if語句適用於標量,而find適用於矩陣。

2)switch/case結構

switch case結構根據乙個給定引數的不同取值來執行不同的命令。其結構為:

switch

case option1

code code code

case option2

code code code

case option3

code code code

otherwise

code code code

end

3) menu結構新建指令碼輸入

city = menu('請選擇乙個城市','上海','北京','深圳')

switch city

case

1disp('上海')

case

2disp('北京')

case

3disp('深圳')

選擇北京,則會出現

>> menu2

city =2

北京

1)for 迴圈

>> for k = [1,2,3]

kend

k = 1

k = 2

k = 3

>> for k = 1:3

a = 5 ^ k

enda = 5

a = 25

a = 125

>>

**例**for語句和if語句配合使用,統計90分以上的人數

count = 0;

for k = 1:length(scores)

if scores(k) > 90

count = count + 1;

endenddisp(count)

如果索引矩陣是乙個二維矩陣,那麼每執行迴圈一次,依次取矩陣中的下一列的值,即在這種情況下索引值是乙個列向量

2)while迴圈

程式:

k = 0;

while k < 3

k = k + 1;

a(k) = 5 ^ k

end

執行結果:

>> untitled4

a = 5

a = 5

25a =

525125

>>

3)break continue同c語言

MATLAB學習筆記(七) 數值求導和積分

diff x 計算相鄰元素的一階查分 梯度的本意是乙個向量 向量 表示某一函式在該點處的方向導數沿著該方向取得最大值,即函式在該點處沿著該方向 此梯度的方向 變化最快,變化率最大 為該梯度的模 梯度不等同於查分,梯度可以理解為導數的向量 fx gradient f 返回f的一位梯度,f是乙個向量 f...

matlab學習筆記

一致化矩陣 z1 1 2 4 3 4 1 z2 1 2 2 5 6 1 b 0 1 q 3 z concur b,q 向量之和 x1 netsum z1,z2 向量之積 x2 netprod z1,z2 感知器神經網路,完成 或 的計算 err goal 0.001 max epoch 500 x ...

MATLAB學習筆記

1.自由探索之恢復 如果不小心關閉了當前路徑視窗 命令歷史記錄視窗或命令視窗,可以通過選單欄的 desktop 選單中 desktoplayout default 恢復。2.開啟簡單的圖形視窗 在命令視窗中的 後面輸入 funtool 並按回車鍵。3.注釋 命令列中的百分號 起注釋的作用,matla...