matlab學習之路

2021-09-29 11:48:24 字數 4149 閱讀 6545

@matlab學習之路

1.1矩陣建立的特點及注意點

(1)由『 [ ] 』把元素框住,元素間用空格或逗號隔開;

(2)元素可以是表示式, eg.abs(-8)、sin(pi)…

(3)矩陣如果比較大,建議建立乙個m檔案,方便日後編輯。

1.2矩陣的建立方法

(1)直接通過命令列輸出,eg.a=[1,2,3,4;5,6,7,8];

(2)函式linspace(初值,末值,元素數量)輸出,eg.a=linspace(1,5,6);

(3)特殊矩陣:全零陣zeros(m,n)、全一陣ones(m,n)、單位陣eye(m,n)、隨機陣randn(m,n),ps.若括號裡的引數只有乙個,則認為是方陣。

1.3size()函式:

size(a)%輸出a矩陣的行、列

size(a,1)%輸出a矩陣的行數

size(a,2)%輸出a矩陣的列數

1.4sort函式

[x,i]=sort(a)%x是a矩陣各列元素公升序排列後的矩陣,i是對應的下標

sort(a,『descend』)%降序排列

2.1利用現成函式方便求解線代裡的問題

(1)det(a)函式用於計算行列式a的值;

(2)rank(a)函式用於計算a矩陣的秩;

(3)trace函式用於計算矩陣的跡;

(4)eig函式用於全矩陣的特徵根和特徵向量,eg.[x,y]=eig(a),其中x為特徵向量,y為對應的特徵根;

(5)inv函式用於求矩陣的逆。

(6)求矩陣a的特徵多項式:

a=[…];

p=poly(a);%得到係數向量,a要求為向量或方陣

poly2sym( p )%將係數向量轉化成符號表示式

%表示式即為矩陣的特徵多項式

(7)orth函式求矩陣的正交陣;

(8)rref函式求矩陣的行最簡形。

2.2在多項式裡的應用

(1)polyval(p,[1,2,3])%求p所表示的多項式在1、2、3處的取值;

(2)polyvalm(p,[1 2;3 4])%求多項式在方陣上的取值;

(3)polyder(p,n)%求係數向量為n*p的多項式的一階導。

3.1符號命名方式

syms x1 x2 …%一定不要用逗號進行連線

3.2符號表示式的常見函式運算

(1)expand(s):展開s;

(2)collect(s,x):將s按自變數x的同次冪進行合併;

(3)factor(s):對s進行因式分解;

(4)simplify(s):對s進行化簡(約去公因式,三角函式化簡…);

(5)symsum(s,a,b):求s中的預設變數在[a,b]上的和

4.1微分、積分和極限

(1)求導函式diff(f,t,n)%對函式表示式f中的自變數t求n階導;

(2)積分函式int(f,t,a,b)%對函式f中的自變數t在[a,b]上積分;

(3)極限函式limit(f,t,a0,『left/right』)%求f在t趨於a0時的極限。

4.2解方程

(1)解一元solve(eq)%求表示式eq=0的解;

(2)解二元:p=solve(q1,q2,x1,x2);

p=[p.x1,p.x2]

這裡注意如果直接輸入solve(q1,q2,x1,x2),會出現提示「包含以下欄位的struct(結構)」,不會直接輸出你想要看到的具體數值!!

另外關於表示式可以是:

1)『x+y=1』;

2)x+y-1;

3)x+y==1.(這裡寫 = 會報錯!)

(3)用roots函式:

roots函式是專門用於解多項式方程的,引數p=[a,b,c…],a、b、c為多項式方程依次降冪的係數。

(4)求解微分方程dsolve函式:

dsolve(『equ1』,『equ2』,…, 'init conds』,『variable』)

二階導表示形如:d2y,一階導形如:dy ps.小寫d會報錯!

4.3 求零點(以乙個具體例子說明)

x=-5 :0.1 :5;

y=2* x.^2+5* x-1;

z=zeros(1,101); %(1,101)是由x的規格決定

plot(x,y,z,y) %繪製圖形,由圖估計零點所在範圍,方便求附近根

fzero(@(x)2x.^2+5x-1,[-3,-2]) %由上一步驟知方程y=0在x0=-2處的附近根在 -3 ~ -2之間

ans=

-2.6861

matlab官方簡介(有乾貨)

關於空間符號作圖的官網簡介

5.1二維數值方式作圖plot()

1)plot(x1,y1,x2,y2,』-.』,x3,y3,『c:d』) %』-.'是點劃線,'c:d』分別指綠藍色、點線、菱形標記,常見引數是向量(矩陣也可)。

p(1).linewidth=2;%線寬預設是0.5,這裡是讓1號線加寬

2)同時畫多張圖:(上**)

ax1=subplot(1,2,1) %(1,2,1)代表構造乙個1*2的「房間」,而ax1圖在1號位

ax2=subplot(1,2,2) %2號位

x=linspace(0,pi);

y=sin(x);

z=cos(x);

plot(ax1,x,y)

plot(ax2,x,z)

針對多個製圖,衍生出一些操作:xlabel(ax1,『x軸』) %如果沒有ax1,則預設在最後乙個圖中操作

title(ax1,『y=sin(x)的影象』) %給第一幅圖命名

5.2二維符號作圖

1)ezplot(引數,[a,b]):引數型別可為字元型、匿名函式型、符號型。

2)fplot(引數,[a,b]):引數型別少了一類,只能是符號型或匿名函式型。

5.3三維空間曲線圖

1)數值方式plot3

除與二維數值作圖基本用法相同外,它還有獨特的地方:

要在同一組座標軸上繪製多組座標,請將 x、y 或 z 中的至少乙個指定為矩陣,其他指定為向量。

t = 0:pi/500:pi;

x(1,:) = sin(t) .* cos(10 * t);

x(2,:) = sin(t) .* cos(12 * t);

x(3,:) = sin(t) .* cos(20 * t);

y(1,:) = sin(t) .* sin(10 * t);

y(2,:) = sin(t) .* sin(12 * t);

y(3,:) = sin(t) .* sin(20 * t);

z = cos(t);

plot3(x,y,z)

axis equal %使每條軸單位距離相等

2)三維符號方式作圖

i)ezplot3

ii)fplot3

基本用法請見二維符號方式作圖

3)三維曲面(surf)、曲線(mesh)圖matlab authority explanation

meshgrid函式解釋:

[x,y]=meshgrid(x**,y**) %**是指取值,如[1:14]、[1:0.5:2]。

生成x、y兩個規模相同的矩陣,矩陣行數由x**決定,列數由y**決定。

擬合函式polyfit(x,y,m)%x、y均是一系列點的橫縱座標構成的向量,m是擬合函式的最高次,函式的返回值是所構建函式從高次到低次的係數所構成的向量

函式polyval(p,x)%p是指前面的polyfit的返回值(係數),x是指自變數,返回值一般賦給y1(即構建乙個函式式),方便之後的plot畫圖

httpRunner學習之路 問題之路

成長過程中,都會遇到問題,就看如何解決!今天想再次研究該框架。因為前面又碰到了一些問題。而技能有限,又需要再次學習js的各項技能。實在耗不起精力。轉而繼續對自己擅長的python入手。按照教程說,先來嘗試一番。建立工程進行開始第一步吧。用相關命令直接生成對應的專案資料夾。hrun startproj...

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...