MATLAB命令大全和矩陣操作大全


轉載自:

http://blog.csdn.net/dengjianqiang2011/article/details/8753807

MATLAB矩陣操作大全

一、矩陣的表示
在MATLAB中創建矩陣有以下規則:

a、矩陣元素必須在”[ ]”內;

b、矩陣的同行元素之間用空格(或”,”)隔開;

c、矩陣的行與行之間用”;”(或回車符)隔開;

d、矩陣的元素可以是數值、變量、表達式或函數;

e、矩陣的尺寸不必預先定義。

二,矩陣的創建:

1、直接輸入法

最簡單的建立矩陣的方法是從鍵盤直接輸入矩陣的元素,輸入的方法按照上面的規則。建立向量的時候可以利用冒號表達式,冒號表達式可以產生一個行向量,一般格式是: e1:e2:e3,其中e1為初始值,e2為步長,e3為終止值。還可以用linspace函數產生行向量,其調用格式為:linspace(a,b,n) ,其中a和b是生成向量的第一個和最后一個元素,n是元素總數。

 

2、利用MATLAB函數創建矩陣

基本矩陣函數如下:

(1) ones()函數:產生全為1的矩陣,ones(n):產生n*n維的全1矩陣,ones(m,n):產生m*n維的全1矩陣;

(2) zeros()函數:產生全為0的矩陣;

(3) rand()函數:產生在(0,1)區間均勻分布的隨機陣;

(4) eye()函數:產生單位陣;

(5) randn()函數:產生均值為0,方差為1的標准正態分布隨機矩陣。

3、利用文件建立矩陣

當矩陣尺寸較大或為經常使用的數據矩陣,則可以將此矩陣保存為文件,在需要時直接將文件利用load命令調入工作環境中使用即可。同時可以利用命令reshape對調入的矩陣進行重排。reshape(A,m,n),它在矩陣總元素保持不變的前提下,將矩陣A重新排成m*n的二維矩陣。

二、矩陣的簡單操作
1.獲取矩陣元素

可以通過下標(行列索引)引用矩陣的元素,如 Matrix(m,n)。

也可以采用矩陣元素的序號來引用矩陣元素。

矩陣元素的序號就是相應元素在內存中的排列順序。

在MATLAB中,矩陣元素按列存儲。

序號(Index)與下標(Subscript )是一一對應的,以m*n矩陣A為例,矩陣元素A(i,j)的序號為(j-1)*m+i。

其相互轉換關系也可利用sub2ind和ind2sub函數求得。

2.矩陣拆分

利用冒號表達式獲得子矩陣:

(1) A(:,j)表示取A矩陣的第j列全部元素;A(i,:)表示A矩陣第i行的全部元素;A(i,j)表示取A矩陣第i行、第j列的元素。

(2) A(i:i+m,:)表示取A矩陣第i~i+m行的全部元素;A(:,k:k+m)表示取A矩陣第k~k+m列的全部元素,A(i:i+m,k:k+m)表示取A矩陣第i~i+m行內,並在第k~k+m列中的所有元素。此外,還可利用一般向量和end運算符來表示矩陣下標,從而獲得子矩陣。end表示某一維的末尾元素下標。

利用空矩陣刪除矩陣的元素:

在MATLAB中,定義[]為空矩陣。給變量X賦空矩陣的語句為X=[]。注意,X=[]與clear X不同,clear是將X從工作空間中刪除,而空矩陣則存在於工作空間中,只是維數為0。

3、特殊矩陣

(1) 魔方矩陣魔方矩陣有一個有趣的性質,其每行、每列及兩條對角線上的元素和都相等。對於n階魔方陣,其元素由1,2,3,…,n2共n2個整數組成。MATLAB提供了求魔方矩陣的函數magic(n),其功能是生成一個n階魔方陣。

(2) 范得蒙矩陣范得蒙(Vandermonde)矩陣最后一列全為1,倒數第二列為一個指定的向量,其他各列是其后列與倒數第二列的點乘積。可以用一個指定向量生成一個范得蒙矩陣。在MATLAB中,函數vander(V)生成以向量V為基礎向量的范得蒙矩陣。

(3) 希爾伯特矩陣在MATLAB中,生成希爾伯特矩陣的函數是hilb(n)。使用一般方法求逆會因為原始數據的微小擾動而產生不可靠的計算結果。MATLAB中,有一個專門求希爾伯特矩陣的逆的函數invhilb(n),其功能是求n階的希爾伯特矩陣的逆矩陣。

(4) 托普利茲矩陣托普利茲(Toeplitz)矩陣除第一行第一列外,其他每個元素都與左上角的元素相同。生成托普利茲矩陣的函數是toeplitz(x,y),它生成一個以x為第一列,y為第一行的托普利茲矩陣。這里x, y均為向量,兩者不必等長。toeplitz(x)用向量x生成一個對稱的托普利茲矩陣。

(5) 伴隨矩陣 MATLAB生成伴隨矩陣的函數是compan(p),其中p是一個多項式的系數向量,高次冪系數排在前,低次冪排在后。

(6) 帕斯卡矩陣我們知道,二次項(x+y)n展開后的系數隨n的增大組成一個三角形表,稱為楊輝三角形。由楊輝三角形表組成的矩陣稱為帕斯卡(Pascal)矩陣。函數pascal(n)生成一個n階帕斯卡矩陣。

三、矩陣的運算

1、算術運算

MATLAB的基本算術運算有:+(加)、-(減)、*(乘)、/(右除)、\(左除)、^(乘方)、’(轉置)。運算是在矩陣意義下進行的,單個數據的算術運算只是一種特例。

(1) 矩陣加減運算假定有兩個矩陣A和B,則可以由A+B和A-B實現矩陣的加減運算。運算規則是:若A和B矩陣的維數相同,則可以執行矩陣的加減運算,A和B矩陣的相應元素相加減。如果A與B的維數不相同,則MATLAB將給出錯誤信息,提示用戶兩個矩陣的維數不匹配。

(2) 矩陣乘法 假定有兩個矩陣A和B,若A為m*n矩陣,B為n*p矩陣,則C=A*B為m*p矩陣。

(3) 矩陣除法在MATLAB中,有兩種矩陣除法運算:\和/,分別表示左除和右除。如果A矩陣是非奇異方陣,則A\B和B/A運算可以實現。A\B等效於A的逆左乘B矩陣,也就是inv(A)*B,而B/A等效於A矩陣的逆右乘B矩陣,也就是B*inv(A)。對於含有標量的運算,兩種除法運算的結果相同。對於矩陣來說,左除和右除表示兩種不同的除數矩陣和被除數矩陣的關系,一般A\B≠B/A。

(4) 矩陣的乘方 一個矩陣的乘方運算可以表示成A^x,要求A為方陣,x為標量。

(5) 矩陣的轉置 對實數矩陣進行行列互換,對復數矩陣,共軛轉置,特殊的,操作符.’共軛不轉置(見點運算);

(6) 點運算在MATLAB中,有一種特殊的運算,因為其運算符是在有關算術運算符前面加點,所以叫點運算。點運算符有.*、./、.\和.^。兩矩陣進行點運算是指它們的對應元素進行相關運算,要求兩矩陣的維參數相同。

2、關系運算

MATLAB提供了6種關系運算符:<(小於)、<=(小於或等於)、>(大於)、>=(大於或等於)、==(等於)、~=(不等於)。關系運算符的運算法則為:

(1) 當兩個比較量是標量時,直接比較兩數的大小。若關系成立,關系表達式結果為1,否則為0;

(2) 當參與比較的量是兩個維數相同的矩陣時,比較是對兩矩陣相同位置的元素按標量關系運算規則逐個進行,並給出元素比較結果。最終的關系運算的結果是一個維數與原矩陣相同的矩陣,它的元素由0或1組成;

(3) 當參與比較的一個是標量,而另一個是矩陣時,則把標量與矩陣的每一個元素按標量關系運算規則逐個比較,並給出元素比較結果。最終的關系運算的結果是一個維數與原矩陣相同的矩陣,它的元素由0或1組成。

3、邏輯運算

MATLAB提供了3種邏輯運算符:&(與)、|(或)和~(非)。 邏輯運算的運算法則為:

(1) 在邏輯運算中,確認非零元素為真,用1表示,零元素為假,用0表示;

(2) 設參與邏輯運算的是兩個標量a和b,那么,a&b a,b全為非零時,運算結果為1,否則為0。 a|b a,b中只要有一個非零,運算結果為1。~a 當a是零時,運算結果為1;當a非零時,運算結果為0。

(3) 若參與邏輯運算的是兩個同維矩陣,那么運算將對矩陣相同位置上的元素按標量規則逐個進行。最終運算結果是一個與原矩陣同維的矩陣,其元素由1或0組成;

(4) 若參與邏輯運算的一個是標量,一個是矩陣,那么運算將在標量與矩陣中的每個元素之間按標量規則逐個進行。最終運算結果是一個與矩陣同維的矩陣,其元素由1或0組成;

(5) 邏輯非是單目運算符,也服從矩陣運算規則;

(6) 在算術、關系、邏輯運算中,算術運算優先級最高,邏輯運算優先級最低。

四、矩陣分析

1、對角陣

(1) 對角陣只有對角線上有非0元素的矩陣稱為對角矩陣,對角線上的元素相等的對角矩陣稱為數量矩陣,對角線上的元素都為1的對角矩陣稱為單位矩陣。

(1) 提取矩陣的對角線元素設A為m*n矩陣,diag(A)函數用於提取矩陣A主對角線元素,產生一個具有min(m,n)個元素的列向量。diag(A)函數還有一種形式diag(A,k),其功能是提取第k條對角線的元素。

(2) 構造對角矩陣設V為具有m個元素的向量,diag(V)將產生一個m*m對角矩陣,其主對角線元素即為向量V的元素。diag(V)函數也有另一種形式diag(V,k),其功能是產生一個n*n(n=m+k)對角陣,其第m條對角線的元素即為向量V的元素。

2、三角陣

三角陣又進一步分為上三角陣和下三角陣,所謂上三角陣,即矩陣的對角線以下的元素全為0的一種矩陣,而下三角陣則是對角線以上的元素全為0的一種矩陣。

(1) 上三角矩陣 求矩陣A的上三角陣的MATLAB函數是triu(A)。 triu(A)函數也有另一種形式triu(A,k),其功能是求矩陣A的第k條對角線以上的元素。

(2) 下三角矩陣在MATLAB中,提取矩陣A的下三角矩陣的函數是tril(A)和tril(A,k),其用法與提取上三角矩陣的函數triu(A)和triu(A,k)完全相同。

3、矩陣的轉置與旋轉

(1) 矩陣的轉置 轉置運算符是單撇號(’)。

(2) 矩陣的旋轉 利用函數rot90(A,k)將矩陣A旋轉90o的k倍,當k為1時可省略。

4、矩陣的翻轉

對矩陣實施左右翻轉是將原矩陣的第一列和最后一列調換,第二列和倒數第二列調換,…,依次類推。矩陣A實施左右翻轉的函數是fliplr(A),對矩陣A實施上下翻轉的函數是flipud(A)。

5、矩陣的逆與偽逆

(1) 矩陣的逆 對於一個方陣A,如果存在一個與其同階的方陣B,使得:AB=BA=I (I為單位矩陣) 則稱B為A的逆矩陣,當然,A也是B的逆矩陣。求方陣A的逆矩陣可調用函數inv(A)。

(2) 矩陣的偽逆如果矩陣A不是一個方陣,或者A是一個非滿秩的方陣時,矩陣A沒有逆矩陣,但可以找到一個與A的轉置矩陣A’同型的矩陣B,使得:ABA=A,BAB=B 此時稱矩陣B為矩陣A的偽逆,也稱為廣義逆矩陣。在MATLAB中,求一個矩陣偽逆的函數是pinv(A)。

6、方陣的行列式

把一個方陣看作一個行列式,並對其按行列式的規則求值,這個值就稱為矩陣所對應的行列式的值。在MATLAB中,求方陣A所對應的行列式的值的函數是det(A)。

7、矩陣的秩與跡

(1) 矩陣的秩 矩陣線性無關的行數與列數稱為矩陣的秩。在MATLAB中,求矩陣秩的函數是rank(A)。

(2) 矩陣的跡矩陣的跡等於矩陣的對角線元素之和,也等於矩陣的特征值之和。在MATLAB中,求矩陣的跡的函數是trace(A)。

8、向量和矩陣的范數

矩陣或向量的范數用來度量矩陣或向量在某種意義下的長度。范數有多種方法定義,其定義不同,范數值也就不同。

(1) 向量的3種常用范數及其計算函數 在MATLAB中,求向量范數的函數為:

a、norm(V)或norm(V,2):計算向量V的2-范數;

b、norm(V,1):計算向量V的1-范數;

c、norm(V,inf):計算向量V的∞-范數。

(2) 矩陣的范數及其計算函數 MATLAB提供了求3種矩陣范數的函數,其函數調用格式與求向量的范數的函數完全相同。

(3) 矩陣的條件數 在MATLAB中,計算矩陣A的3種條件數的函數是:

a、cond(A,1) 計算A的1-范數下的條件數;

b、cond(A)或cond(A,2) 計算A的2-范數數下的條件數;

c、cond(A,inf) 計算A的 ∞-范數下的條件數。

9、 矩陣的特征值與特征向量

在MATLAB中,計算矩陣A的特征值和特征向量的函數是eig(A),常用的調用格式有3種:

(1) E=eig(A):求矩陣A的全部特征值,構成向量E。

(2) [V,D]=eig(A):求矩陣A的全部特征值,構成對角陣D,並求A的特征向量構成V的列向量。

(3) [V,D]=eig(A,’nobalance’):與第2種格式類似,但第2種格式中先對A作相似變換后求矩陣A的特征值和特征向量,而格式3直接求矩陣A的特征值和特征向量。

五、字符串

在MATLAB中,字符串是用單撇號括起來的字符序列。MATLAB將字符串當作一個行向量,每個元素對應一個字符,其標識方法和數值向量相同。也可以建立多行字符串矩陣。字符串是以ASCII碼形式存儲的。abs和double函數都可以用來獲取字符串矩陣所對應的ASCII碼數值矩陣。相反,char函數可以把ASCII碼矩陣轉換為字符串矩陣。與字符串有關的另一個重要函數是eval,其調用格式為: eval_r(t) 其中t為字符串。它的作用是把字符串的內容作為對應的MATLAB語句來執行。

六、其他

查看矩陣非零元素的分布spy(A);

第二部分 矩陣的應用

一、稀疏矩陣

對於一個 n 階矩陣,通常需要 n2 的存儲空間,當 n 很大時,進行矩陣運算時會占用大量的內存空間和運算時間。在許多實際問題中遇到的大規模矩陣中通常含有大量0元素,這樣的矩陣稱為稀疏矩陣。Matlab支持稀疏矩陣,只存儲矩陣的非零元素。由於不存儲那些”0″元素,也不對它們進行操作,從而節省內存空間和計算時間,其計算的復雜性和代價僅僅取決於稀疏矩陣的非零元素的個數,這在矩陣的存儲空間和計算時間上都有很大的優點。

矩陣的密度定義為矩陣中非零元素的個數除以矩陣中總的元素個數。對於低密度的矩陣,采用稀疏方式存儲是一種很好的選擇。

1、稀疏矩陣的創建

(1) 將完全存儲方式轉化為稀疏存儲方式函數A=sparse(S)將矩陣S轉化為稀疏存儲方式的矩陣A。當矩陣S是稀疏存儲方式時,則函數調用相當於A=S。 sparse函數還有其他一些調用格式: sparse(m,n):生成一個m*n的所有元素都是0的稀疏矩陣。 sparse(u,v,S)--:u,v,S是3個等長的向量。S是要建立的稀疏矩陣的非0元素,u(i)、v(i)分別是S(i)的行和列下標,該函數建立一個max(u)行、max(v)列並以S為稀疏元素的稀疏矩陣。此外,還有一些和稀疏矩陣操作有關的函數。full(A):返回和稀疏存儲矩陣A對應的完全存儲方式矩陣。

(2) 直接創建稀疏矩陣 S=sparse(i,j,s,m,n),其中i 和j 分別是矩陣非零元素的行和列指標向量,s 是非零元素值向量,m,n 分別是矩陣的行數和列數。

(3) 從文件中創建稀疏矩陣利用load和spconvert函數可以從包含一系列下標和非零元素的文本文件中輸入稀疏矩陣。例:設文本文件 T.txt 中有三列內容,第一列是一些行下標,第二列是列下標,第三列是非零元素值。load T.txt S=spconvert(T)。

(4) 稀疏帶狀矩陣的創建 S=spdiags(B,d,m,n) 其中m 和n 分別是矩陣的行數和列數;d是長度為p的整數向量,它指定矩陣S的對角線位置;B是全元素矩陣,用來給定S對角線位置上的元素,行數為min(m,n),列數為p 。

(5) 其它稀疏矩陣創建函數

S=speye(m,n)

S=speye(size(A)) % has the same size as A

S=buchy % 一個內置的稀疏矩陣(鄰接矩陣)

等等

2、稀疏矩陣的運算

稀疏存儲矩陣只是矩陣的存儲方式不同,它的運算規則與普通矩陣是一樣的,可以直接參與運算。所以,Matlab中對滿矩陣的運算和函數同樣可用在稀疏矩陣中。結果是稀疏矩陣還是滿矩陣,取決於運算符或者函數。當參與運算的對象不全是稀疏存儲矩陣時,所得結果一般是完全存儲形式。

3、其他

(1) 非零元素信息

nnz(S) % 返回非零元素的個數

nonzeros(S) % 返回列向量,包含所有的非零元素

nzmax(S) % 返回分配給稀疏矩陣中非零項的總的存儲空間

(2) 查看稀疏矩陣的形狀 spy(S)

(3) find函數與稀疏矩陣

[i,j,s]=find(S)

[i,j]=find(S)

返回 S 中所有非零元素的下標和數值,S 可以是稀疏矩陣或滿矩陣。

 

 

MATLAB命令大全

管理命令和函數 
    help      在線幫助文件 
    doc      裝入超文本說明 
    what      M、MAT、MEX文件的目錄列表 
    type      列出M文件 
    lookfor      通過help條目搜索關鍵字 
    which      定位函數和文件 
    Demo      運行演示程序 
    Path      控制MATLAB的搜索路徑 
管理變量和工作空間 
    Who      列出當前變量 
    Whos      列出當前變量(長表) 
    Load      從磁盤文件中恢復變量 
    Save      保存工作空間變量 
    Clear      從內存中清除變量和函數 
    Pack      整理工作空間內存 
    Size      矩陣的尺寸 
    Length      向量的長度 
    disp      顯示矩陣或 
與文件和*作系統有關的命令 
    cd      改變當前工作目錄 
    Dir      目錄列表 
    Delete      刪除文件 
    Getenv      獲取環境變量值 
    !      執行DOS*作系統命令 
    Unix      執行UNIX*作系統命令並返回結果 
    Diary      保存MATLAB任務 
控制命令窗口 
    Cedit      設置命令行編輯 
    Clc      清命令窗口 
    Home      光標置左上角 
    Format      設置輸出格式 
    Echo      底稿文件內使用的回顯命令 
    more      在命令窗口中控制分頁輸出 
啟動和退出MATLAB 
    Quit      退出MATLAB 
    Startup      引用MATLAB時所執行的M文件 
    Matlabrc      主啟動M文件 
一般信息 
    Info      MATLAB系統信息及Mathworks公司信息 
    Subscribe      成為MATLAB的訂購用戶 
    hostid      MATLAB主服務程序的識別代號 
    Whatsnew      在說明書中未包含的新信息 
    Ver      版本信息 
*作符和特殊字符 
    +      加 
    —      減 
    *      矩陣乘法 
    .*      數組乘法 
    ^      矩陣冪 
    .^      數組冪 
    \      左除或反斜杠 
    /      右除或斜杠 
    ./      數組除 
    Kron      Kronecker張量積 
    :      冒號 
    ( )      圓括號 
    [ ]      方括號 
    .      小數點 
    ..      父目錄 
    …      繼續 
    ,      逗號 
    ;      分號 
    %      注釋 
    !      感嘆號 
    ‘      轉置或引用 
    =      賦值 
    = =      相等 
    < >      關系*作符 
    &      邏輯與 
    |      邏輯或 
    ~      邏輯非 
    xor      邏輯異或 
邏輯函數 
    Exist      檢查變量或函數是否存在 
    Any      向量的任一元為真,則其值為真 
    All      向量的所有元為真,則其值為真 
    Find      找出非零元素的索引號 
三角函數 
    Sin      正弦 
    Sinh      雙曲正弦 
    Asin      反正弦 
    Asinh      反雙曲正弦 
    Cos      余弦 
    Cosh      雙曲余弦 
    Acos      反余弦 
    Acosh      反雙曲余弦 
    Tan      正切 
    Tanh      雙曲正切 
    Atan      反正切 
    Atan2      四象限反正切 
    Atanh      反雙曲正切 
    Sec      正割 
    Sech      雙曲正割 
    Asech      反雙曲正割 
    Csc      余割 
    Csch      雙曲余割 
    Acsc      反余割 
    Acsch      反雙曲余割 
    Cot      余切 
    Coth      雙曲余切 
    Acot      反余切 
    Acoth      反雙曲余切 
指數函數 
    Exp      指數 
    Log      自然對數 
    Log10      常用對數 
    Sqrt      平方根 
復數函數 
    Abs      絕對值 
    Argle      相角 
    Conj      復共軛 
    Image      復數虛部 
    Real      復數實部 
數值函數 
    Fix      朝零方向取整 
    Floor      朝負無窮大方向取整 
    Ceil      朝正無窮大方向取整 
    Round      朝最近的整數取整 
    Rem      除后取余 
    Sign      符號函數 
基本矩陣 
    Zeros      零矩陣 
    Ones      全“1”矩陣 
    Eye      單位矩陣 
    Rand      均勻分布的隨機數矩陣 
    Randn      正態分布的隨機數矩陣 
    Logspace      對數間隔的向量 
    Meshgrid      三維圖形的X和Y數組 
    :      規則間隔的向量 
特殊變量和常數 
    Ans      當前的答案 
    Eps      相對浮點精度 
    Realmax      最大浮點數 
    Realmin      最小浮點數 
    Pi      圓周率 
    I,j      虛數單位 
    Inf      無窮大 
    Nan      非數值 
    Flops      浮點運算次數 
    Nargin      函數輸入變量數 
    Nargout      函數輸出變量數 
    Computer      計算機類型 
    Isieee      當計算機采用IEEE算術標准時,其值為真 
    Why      簡明的答案 
    Version      MATLAB版本號 
時間和日期 
    Clock      掛鍾 
    Date      日歷 
    Etime      計時函數 
    Tic      秒表開始計時 
    Toc      計時函數 
    Cputime      CPU時間(以秒為單位) 
矩陣*作 
    Diag      建立和提取對角陣 
    Fliplr      矩陣作左右翻轉 
    Flipud      矩陣作上下翻轉 
    Reshape      改變矩陣大小 
    Rot90      矩陣旋轉90度 
    Tril      提取矩陣的下三角部分 
    Triu      提取矩陣的上三角部分 
    :      矩陣的索引號,重新排列矩陣 
    Compan      友矩陣 
    Hadamard      Hadamard矩陣 
    Hankel      Hankel矩陣 
    Hilb      Hilbert矩陣 
    Invhilb      逆Hilbert矩陣 
    Kron      Kronecker張量積 
    Magic      魔方矩陣 
    Toeplitz      Toeplitz矩陣 
    Vander      Vandermonde矩陣 
矩陣分析       
    Cond      計算矩陣條件數 
    Norm      計算矩陣或向量范數 
    Rcond Linpack      逆條件值估計 
    Rank      計算矩陣秩 
    Det      計算矩陣行列式值 
    Trace      計算矩陣的跡 
    Null      零矩陣 
    Orth      正交化 
線性方程 
    \和/      線性方程求解 
    Chol      Cholesky分解 
    Lu      高斯消元法求系數陣 
    Inv      矩陣求逆 
    Qr      正交三角矩陣分解(QR分解) 
    Pinv      矩陣偽逆 
特征值和奇異值 
    Eig      求特征值和特征向量 
    Poly      求特征多項式 
    Hess      Hessberg形式 
    Qz      廣義特征值 
    Cdf2rdf      變復對角矩陣為實分塊對角形式 
    Schur      Schur分解 
    Balance      矩陣均衡處理以提高特征值精度 
    Svde      奇異值分解 
矩陣函數 
    Expm      矩陣指數 
    Expm1      實現expm的M文件 
    Expm2      通過泰勒級數求矩陣指數 
    Expm3      通過特征值和特征向量求矩陣指數 
    Logm      矩陣對數 
    Sqrtm      矩陣開平方根 
    Funm      一般矩陣的計算 
泛函——非線性數值方法 
    Ode23      低階法求解常微分方程 
    Ode23p      低階法求解常微分方程並繪出結果圖形 
    Ode45      高階法求解常微分方程 
    Quad      低階法計算數值積分 
    Quad8      高階法計算數值積分 
    Fmin      單變量函數的極小變化 
    Fmins      多變量函數的極小化 
    Fzero      找出單變量函數的零點 
    Fplot      函數繪圖 
多項式函數 
    Roots      求多項式根 
    Poly      構造具有指定根的多項式 
    Polyvalm      帶矩陣變量的多項式計算 
    Residue      部分分式展開(留數計算) 
    Polyfit      數據的多項式擬合 
    Polyder      微分多項式 
    Conv      多項式乘法 
    Deconv      多項式除法 
建立和控制圖形窗口 
    Figure      建立圖形 
    Gcf      獲取當前圖形的句柄 
    Clf      清除當前圖形 
    Close      關閉圖形 
建立和控制坐標系 
    Subplot      在標定位置上建立坐標系 
    Axes      在任意位置上建立坐標系 
    Gca      獲取當前坐標系的句柄 
    Cla      清除當前坐標系 
    Axis      控制坐標系的刻度和形式 
    Caxis      控制偽彩色坐標刻度 
    Hold      保持當前圖形 
句柄圖形對象 
    Figure      建立圖形窗口 
    Axes      建立坐標系 
    Line      建立曲線 
    Text      建立文本串 
    Patch      建立圖形填充塊 
    Surface      建立曲面 
    Image      建立圖像 
    Uicontrol      建立用戶界面控制 
    Uimen      建立用戶界面菜單 
句柄圖形*作 
    Set      設置對象 
    Get      獲取對象特征 
    Reset      重置對象特征 
    Delete      刪除對象 
    Newplot      預測nextplot性質的M文件 
    Gco      獲取當前對象的句柄 
    Drawnow      填充未完成繪圖事件 
    Findobj      尋找指定特征值的對象 
打印和存儲 
    Print      打印圖形或保存圖形 
    Printopt      配置本地打印機缺省值 
    Orient      設置紙張取向 
    Capture      屏幕抓取當前圖形 
基本X—Y圖形 
    Plot      線性圖形 
    Loglog      對數坐標圖形 
    Semilogx      半對數坐標圖形(X軸為對數坐標) 
    Semilogy      半對數坐標圖形(Y軸為對數坐標) 
    Fill      繪制二維多邊形填充圖 
特殊X—Y圖形 
    Polar      極坐標圖 
    Bar      條形圖 
    Stem      離散序列圖或桿圖 
    Stairs      階梯圖 
    Errorbar      誤差條圖 
    Hist      直方圖 
    Rose      角度直方圖 
    Compass      區域圖 
    Feather      箭頭圖 
    Fplot      繪圖函數 
    Comet      星點圖 
圖形注釋 
    Title      圖形標題 
    Xlabel      X軸標記 
    Ylabel      Y軸標記 
    Text      文本注釋 
    Gtext      用鼠標放置文本 
    Grid      網格線 
MATLAB編程語言 
    Function      增加新的函數 
    Eval      執行由MATLAB表達式構成的字串 
    Feval      執行由字串指定的函數 
    Global      定義全局變量 
程序控制流 
    If      條件執行語句 
    Else      與if命令配合使用 
    Elseif      與if命令配合使用 
    End      For,while和if語句的結束 
    For      重復執行指定次數(循環) 
    While      重復執行不定次數(循環) 
    Break      終止循環的執行 
    Return      返回引用的函數 
    Error      顯示信息並終止函數的執行 
交互輸入 
    Input      提示用戶輸入 
    Keyboard      像底稿文件一樣使用鍵盤輸入 
    Menu      產生由用戶輸入選擇的菜單 
    Pause      等待用戶響應 
    Uimenu      建立用戶界面菜單 
    Uicontrol      建立用戶界面控制 
一般字符串函數 
    Strings      MATLAB中有關字符串函數的說明 
    Abs      變字符串為數值 
    Setstr      變數值為字符串 
    Isstr      當變量為字符串時其值為真 
    Blanks      空串 
    Deblank      刪除尾部的空串 
    Str2mat      從各個字符串中形成文本矩陣 
    Eval      執行由MATLAB表達式組成的串 
字符串比較 
    Strcmp      比較字符串 
    Findstr      在一字符串中查找另一個子串 
    Upper      變字符串為大寫 
    Lower      變字符串為小寫 
    Isletter      當變量為字母時,其值為真 
    Isspace      當變量為空白字符時,其值為真 
字符串與數值之間變換 
    Num2str      變數值為字符串 
    Int2str      變整數為字符串 
    Str2num      變字符串為數值 
    Sprintf      變數值為格式控制下的字符串 
    Sscanf      變字符串為格式控制下的數值 
十進制與十六進制數之間變換 
    Hex2num      變十六進制為IEEE標准下的浮點數 
    Hex2dec      變十六制數為十進制數 
    Dec2hex      變十進制數為十六進制數 
建模 
    Append      追加系統動態特性 
    Augstate      變量狀態作為輸出 
    Blkbuild      從方框圖中構造狀態空間系統 
    Cloop      系統的閉環 
    Connect      方框圖建模 
    Conv      兩個多項式的卷積 
    Destim      從增益矩陣中形成離散狀態估計器 
    Dreg      從增益矩陣中形成離散控制器和估計器 
    Drmodel      產生隨機離散模型 
    Estim      從增益矩陣中形成連續狀態估計器 
    Feedback      反饋系統連接 
    Ord2      產生二階系統的A、B、C、D 
    Pade      時延的Pade近似 
    Parallel      並行系統連接 
    Reg      從增益矩陣中形成連續控制器和估計器 
    Rmodel      產生隨機連續模型 
    Series      串行系統連接 
    Ssdelete      從模型中刪除輸入、輸出或狀態 
    ssselect      從大系統中選擇子系統 
模型變換 
    C2d      變連續系統為離散系統 
    C2dm      利用指定方法變連續為離散系統 
    C2dt      帶一延時變連續為離散系統 
    D2c      變離散為連續系統 
    D2cm      利用指定方法變離散為連續系統 
    Poly      變根值表示為多項式表示 
    Residue      部分分式展開 
    Ss2tf      變狀態空間表示為傳遞函數表示 
    Ss2zp      變狀態空間表示為零極點表示 
    Tf2ss      變傳遞函數表示為狀態空間表示 
    Tf2zp      變傳遞函數表示為零極點表示 
    Zp2tf      變零極點表示為傳遞函數表示 
    Zp2ss      變零極點表示為狀態空間表示 
模型簡化 
    Balreal      平衡實現 
    Dbalreal      離散平衡實現 
    Dmodred      離散模型降階 
    Minreal      最小實現和零極點對消 
    Modred      模型降階 
模型實現 
    Canon      正則形式 
    Ctrbf      可控階梯形 
    Obsvf      可觀階梯形 
    Ss2ss      采用相似變換 
模型特性 
    Covar      相對於白噪聲的連續協方差響應 
    Ctrb      可控性矩陣 
    Damp      阻尼系數和固有頻率 
    Dcgain      連續穩態(直流)增益 
    Dcovar      相對於白噪聲的離散協方差響應 
    Ddamp      離散阻尼系數和固有頻率 
    Ddcgain      離散系統增益 
    Dgram      離散可控性和可觀性 
    Dsort      按幅值排序離散特征值 
    Eig      特征值和特征向量 
    Esort      按實部排列連續特征值 
    Gram      可控性和可觀性 
    Obsv      可觀性矩陣 
    Printsys      按格式顯示系統 
    Roots      多項式之根 
    Tzero      傳遞零點 
    Tzero2      利用隨機擾動法傳遞零點 
時域響應 
    Dimpulse      離散時間單位沖激響應 
    Dinitial      離散時間零輸入響應 
    Dlsim      任意輸入下的離散時間仿真 
    Dstep      離散時間階躍響應 
    Filter      單輸入單輸出Z變換仿真 
    Impulse      沖激響應 
    Initial      連續時間零輸入響應 
    Lsim      任意輸入下的連續時間仿真 
    Ltitr      低級時間響應函數 
    Step      階躍響應 
    Stepfun      階躍函數 
頻域響應 
    Bode      Bode圖(頻域響應) 
    Dbode      離散Bode圖 
    Dnichols      離散Nichols圖 
    Dnyquist      離散Nyquist圖 
    Dsigma      離散奇異值頻域圖 
    Fbode      連續系統的快速Bode圖 
    Freqs      拉普拉斯變換頻率響應 
    Freqz      Z變換頻率響應 
    Ltifr      低級頻率響應函數 
    Margin      增益和相位裕度 
    Nichols      Nichols圖 
    Ngrid      畫Nichols圖的柵格線 
    Nyquist      Nyquist圖 
    Sigma      奇異值頻域圖 
根軌跡 
    Pzmap      零極點圖 
    Rlocfind      交互式地確定根軌跡增益 
    Rlocus      畫根軌跡 
    Sgrid      在網格上畫連續根軌跡 
    Zgrid      在網格上畫離散根軌跡 
增益選擇 
    Acker      單輸入單輸出極點配置 
    Dlqe      離散線性二次估計器設計 
    Dlqew      離散線性二次估計器設計 
    Dlqr      離散線性二次調節器設計 
    Dlqry      輸出加權的離散調節器設計 
    Lqe      線性二次估計器設計 
    Lqed      基於連續代價函數的離散估計器設計 
    Lqe2      利用Schur法設計線性二次估計器 
    Lqew      一般線性二次估計器設計 
    Lqr      線性二次調節器設計 
    Lqrd      基於連續代價函數的離散調節器設計 
    Lqry      輸出加權的調節器設計 
    Lqr2      利用Schur法設計線性二次調節器 
    Place      極點配置 
方程求解 
    Are      代數Riccati方程求解 
    Dlyap      離散Lyapunov方程求解 
    Lyap      連續Lyapunov方程求解 
    Lyap2      利用對角化求解Lyapunov方程 
演示示例 
    Ctrldemo      控制工具箱介紹 
    Boildemo      鍋爐系統的LQG設計 
    Jetdemo      噴氣式飛機偏航阻尼的典型設計 
    Diskdemo      硬盤控制器的數字控制 
    Kalmdemo      Kalman濾波器設計和仿真 
實用工具 
    Abcdchk       檢測(A、B、C、D)組的一致性 
    Chop      取n個重要的位置 
    Dexresp      離散取樣響應函數 
    Dfrqint      離散Bode圖的自動定范圍的算法 
    Dfrqint2      離散Nyquist圖的自動定范圍的算法 
    Dmulresp      離散多變量響應函數 
    Distsl      到直線間的距離 
    Dric      離散Riccati方程留數計算 
    Dsigma2      DSIGMA實用工具函數 
    Dtimvec      離散時間響應的自動定范圍算法 
    Exresp      取樣響應函數 
    Freqint      Bode圖的自動定范圍算法 
    Freqint2      Nyquist圖的自動定范圍算法 
    Freqresp      低級頻率響應函數 
    Givens      旋轉 
    Housh      構造Householder變換 
    Imargin      利用內插技術求增益和相位裕度 
    Lab2ser      變標號為字符串 
    Mulresp      多變量響應函數 
    Nargchk      檢測M文件的變量數 
    Perpxy      尋找最近的正交點 
    Poly2str      變多項式為字符串 
    Printmat      帶行列號打印矩陣 
    Ric      Riccati方程留數計算 
    Schord      有序Schwr分解 
    Sigma2      SIGMA使用函數 
    Tfchk      檢測傳遞函數的一致性 
    Timvec      連續時間響應的自動定范圍算法 
    Tzreduce      在計算過零點時簡化系統 
    Vsort      匹配兩根軌跡的向量

 

 

MATLAB常見問題和常用命令參考

Q1:matlab有沒有監視內存的方法?
A: 用函數whos。

Q2:如何解決matlab7.0命令窗口跳出一大堆Java錯誤...
A: 換matlab 7的sp2。

Q3:自從安裝matlab,一開機就在進程里有matlab。
    能不能開機的時候進程就不運行matlab?
A: 開始-->控制面板-->管理工具-->服務
    把MATLAB Server的屬性改成“手動”就行了。

Q4:退出matlab7程序運行的快捷鍵。
A:  ctrl+q

Q5:matlab7遠程控制是否有限制?
A: 不能遠程控制,不過你可以先在你的remote機器上打開,然后就可以用了。

Q6:Matlab占用資源太多怎么辦?
A: 用matlab -nojvm啟動(如果不需要圖形界面)。

Q7:怎樣給matlab添加新的toolbox?
A:  在matlab的文件菜單里邊添加路徑,選set path。

Q8:請問matlab有沒有命令可以調出歷史輸入啊?
A:  command history 窗口。

Q9:matlab 7.0 不能在64位的cpu下運行?
A: matlab 應該是依賴於自己的虛擬機的
    但是好像這個虛擬機是在 IA32 里面作出來的,所以,應該找個帶 64 位的
    java 虛擬機替換原來的,不過不一定能行 or so,記不清了)

Q10:matlab有沒有注釋一段的功能?
A:  選中一段代碼,ctrl r就是區段注釋
     選中一段代碼,ctrl t取消區段注釋

Q11:今有WINDOWS版MATLAB7,啟動時只出現版權畫面,然后進程結束。
A:   用matlab -nojvm可以啟動,但是報了OpenGL錯誤的信息,估計是顯卡比較
     差或驅動程序不好。在顯示屬性里關閉硬件加速即可。


1、學會用help和doc函數。

2、輸入輸出文件:save/load
   在屏幕上顯示文件:type

3、解線性方程組AX=B:X=A/B

4、作圖時兩張曲線合並:hold on或者subplot作子圖

5、程序計算時間:tic,toc或者clock

6、變量顯示方式更改:format long/short/bank...

7、數組元素求和:sum

8、求數組長度:length
   求矩陣維數:size或者ndims  矩陣元素個數:numel

9、函數作圖:
   餅圖:pie/pie3    誤差圖:errorbar     散點圖:scatter/scatter3
   直方圖:hist      函數圖:fplot        動畫:movie

10、矩陣分析:
    左右翻轉:fliplr    上下翻轉:flipud    轉置:transpose
    矩陣求逆:inv       矩陣范數:norm      條件數:cond
    初等變換:rref      特征值:eig/eigs

11、特殊矩陣:
    元素全為1的矩陣:ones          元素全為0的矩陣:zeros
    單位陣:eye                    魔方陣:magic
    線性變化數組:linspace         聚合矩陣:cat/horzcat/vertcat

12、隨機數:
    創建一個元素服從均勻分布的隨機數數組:rand
    創建一個元素服從正態分布的隨機數數組:randn
    二項分布:binornd  指數分布:exprnd       F分布:frnd
    幾何分布:geornd   超幾何分布:hygernd    泊松分布:poissrnd
    正態分布:normrnd  離散均勻分布:unidrnd  連續均勻分布:unifrnd

13、清屏:clc  清理內存:clear

14、字體顯示變更等:preferences

15、得到一個文件夾的所有文件名:ls

16、語句太長的話可以再句末加...換行。

 

更深層次和更進一步了解MATLAB實際操作應用的可以參考以下的鏈接:

http://blog.csdn.net/chl033/article/category/478784


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM