MATLAB學習筆記

2021-06-18 04:37:47 字數 4589 閱讀 5670

1. 自由探索之恢復

如果不小心關閉了當前路徑視窗、命令歷史記錄視窗或命令視窗,可以通過選單欄的「desktop」選單中「desktoplayout } default」恢復。

2. 開啟簡單的圖形視窗

在命令視窗中的》後面輸入:

funtool

並按回車鍵。

3. 注釋

命令列中的百分號(%)起注釋的作用,matlab自動將%以及其後的內容顯示為綠色,在執行這個命令列的命令時,自動忽略%以及其後的內容。

4. 實數值矩陣的輸入

不管是任何矩陣(向量),我們可以直接按行方式輸入每個元素:同一行中的元素用逗號(,)或者用空格符來分隔,且空格個數不限;不同的行用分號(;)分隔。所有元素處於一對方括號([ ])內。

5. 特殊矩陣的生成

b=zeros(2) %生成2*2全零陣

b=zeros(2, 3) %生成2*3全零陣

b=zeros(size(matrix_b)) %生成與矩陣matrix_b 相同大小的全零陣

y=eye(2) %生成2*2的單位陣

b=eye(size(b)) %生成與矩陣b相同大小的單位陣

y = ones(n) %生成n×n全1陣

y = ones(m,n) %生成m×n全1陣

y = ones(size(a)) %生成與矩陣a相同大小的全1陣

6. 矩陣的加減運算

a=[1 2;3 4];b=[5,6;7,8];c=a+b,d=a-b

7. 矩陣的乘法

(1)矩陣相乘(*)

a=[1,2;-1,0];b=[1,2,3;4,5,6];c=a*b

(2)矩陣數乘(*)

a=[1,2,3;4,5,6];b=-2*a,c=a*(-2)

(3)向量點積(dot)

a=[1,2];b=[3,4];c=[3;4];d_1=dot(a,b),d_2=dot(a,c)

(4)向量叉乘(cross)

a=[1,0,-1];b=[0,1,2];c=cross(a,b),d=cross(b,a)

向量叉乘的計算:

a=(a1,b1,c1)

b=(a2,b2,c2)

向量a×向量b=

| i j k|

|a1 b1 c1|

|a2 b2 c2|

=(b1c2-b2c1,c1a2-a1c2,a1b2-a2b1)

8. 矩陣除法

matlab提供了兩種除法運算:左除(\)和右除(/)。當矩陣a可逆時,x = a\b是方程a*x =b的解(這裡當然還要求a的行數=b的行數),而x = c/a是方程x*a = c的解(這裡當然還要求a的列數=c的列數)。

9. 矩陣乘方(^)

c=[1,2;2,1]^(-2)

要求[1,2;2,1]是可逆的。

10. 矩陣轉置(』)

b=a

若a為複數矩陣,則a』表示a的共軛轉置。對於複數矩陣a,若僅希望轉置,則用如下命令:a.』。

11. 方陣的行列式 (det)

det([1,2;3,4])

12. 方陣的逆矩陣(inv)

inv([1,2;3,4])

或者使用初等變換:

a=[1,2;3,4];b=[1,2,1,0;3,4,0,1];c=rref(b);c,x=x(:,3:4)

用format rat命令可以使輸出格式為有理格式。

a=[2,1,-1;2,1,2;1,-1,1];format rat;d=inv(a) %可以用分數形式輸出d矩陣

13. 方陣的跡(trace)

trace([1,2;-1,3])

14. 矩陣的秩(rank)

rank(a)

15. 求線性方程組的解

>> a_1=[5;1;0;0;0];a_2=[6;5;1;0;0];a_3=[0;6;5;1;0];a_4=[0;0;6;5;1];

>> a_5=[0;0;0;6;5];b=[1;0;0;0;1]; a=[a_1,a_2,a_3,a_4,a_5];d=det(a);

>> x=; %

空矩陣

>> for i=1:5

a=[a_1,a_2,a_3,a_4,a_5];

a(:,i)=b;%把a

的第i列換成b,

下面一行的a的第

i列就是b了

x=[x,det(a)/d]; %

把det(a)/d的值(

即x_i的值)

添到原x後面

i=i+1;

end

>> format rat,x%

這樣得到的結果與圖

3.1.1

中的結果是一樣的

16. 二維曲線的簡捷繪製

ezplot('x*cos(x)',[-4*pi,4*pi]) %畫出

y =

xcos

x在區間[-4p, 4p]上的圖形。

ezplot('x^2/4+y^2/5=1',[-3,3,-4,4]) %畫出橢圓在區域[-3, 3]´[-4, 4]內的圖形。

17. 在同乙個座標系內繪製多條曲線

命令格式:plot(x1,y1,'s1',x2,y2,'s2',…)

其中:'s1', 's2'等為可選引數,用來指定繪製曲線的線型、顏色、資料點形狀等。

線型可選引數有:-(實線),:(虛線),-.(點劃線)和- -(雙劃線)。

顏色可選引數有:y(黃色),m(品紅色),c(青色),r(紅色),g(綠色),b(藍色),w(白色)和k(黑色)。

資料點可選引數有:.(實心點),o(圓圈),x(叉),+(十字),*(星號),s(方塊),d(菱形),v(下三角),^(上三角),<(左三角),>(右三角),p(五角星)和h(六角星)。

x = -pi:0.1:pi; %設定x的取值範圍和取點間距

y1=exp(0.1*x).*sin(2*x); y2=x.*cos(x); %注意其中的.*

plot(x,y1,'* r',x,y2,'o b') %兩條曲線用不同的資料點形狀和顏色

18. 三維曲線的繪製

命令格式:plot3(x1,y1,z1,'s1',x2,y2,z2,'s2',…)

其中:'s1', 's2'等為可選引數,與plot中的用法完全相同,不選則使用預設設定。

如果只繪製一條三維曲線,也可以用簡捷的繪製命令ezplot3,命令格式與ezplot類似。

t = 0:0.1:4*pi;

x = 2*cos(t);

y = 2*sin(t);

z = 1.5*t;

plot3(x,y,z), xlabel('x'), ylabel('y'),zlabel('z')

%標識座標軸

或者使用下面的命令,可以達到相同的效果:ezplot3('2*cos(t)','2*sin(t)', '1.5*t', [0,4*pi])

19. 三維網線圖與表面圖的繪製

命令格式:mesh(x,y,z)%

繪製三維網線圖

surf(x,y,z) %

繪製三維表面圖

也可以在呼叫命令時增加可選引數來改變圖形的顏色和線型。

還可以用簡捷的繪製命令ezmesh與ezsurf繪製三維網線圖與表面圖。

x = -2:0.1:2; y = -2:0.1:2; %設定x

的取值範圍和取點間距

[x,y]=meshgrid(x,y); %用x

和y產生「格點」矩陣

z = sin(x.*y); %

計算「格點」矩陣的每個「格點」上的函式值

mesh(x,y,z)

%繪製網線圖

可以簡單地使用下述命令繪製:ezsurf('x*exp(-x^2-y^2)')

x = -2:0.1:4; y = x; %設定x

的取值範圍和取點間距

[x,y]=meshgrid(x,y); %用x

和y產生「格點」矩陣

z = x.^2+y.^2; %

計算「格點」矩陣的每個「格點」上的函式值

surf(x,y,z)%

繪製曲面

20. 在同乙個座標系裡繪製多個曲面

x=-20:1:20;y=x;

[x,y]=meshgrid(x,y);

z1=x+y; %平面p

1z2=2*x-y+2*ones(size(x));%平面p

2z3=zeros(size(x));%平面p

3 surf(x,y,z1),hold on,mesh(x,y,z2),mesh(x,y,z3)

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學習筆記

最近要做 了,菜鳥也得學習matlab了,也不知道怎麼開始學習,就還是使用例子來學習所有的知識吧。然後遇到的問題在這記下來,也算是做筆記,加深印象吧。1 mat l a b繪製一條引數曲線 x cost sin3t y sintcost cos3t 解答 首先定義t的範圍t 0 pi pi 100 ...

matlab學習筆記

1.老師給的課件 matlab入門 2.編寫乙個高斯法求解方程組的函式,並儲存為.m檔案。如下 function x gaus a,b input 係數矩陣a,常係數向量b output 方程組的解及其資訊。b 增廣矩陣 b a,b disp b m,n size b 變元個數 ra rank a ...