MATLAB學習筆記(二)——主要是MATLAB的矩陣知識

PS:主要是講解矩陣的相應的實現方法,其實MATLAB的很大一部分的優點,就是集成了矩陣級別的運算,並以此爲特色,能夠進行多維空間上的驗證。算法

       讓咱們懂得了原來線性代數如此有用= - =。數組

(一)MATLAB矩陣

1、矩陣的創建

一、直接輸入法建立:

image

       還能夠有複數矩陣的創建,有兩種方法:函數

    (1)直接按照直接輸入法來創建矩陣,可是元素能夠直接打成複數的形式(a+bj)性能

    (2)還有就是分別創建一個實部還有一個虛部的矩陣,而後經過(a+bj)就能夠獲得。spa

二、M文件創建矩陣

      就是把創建的矩陣存在一個文件裏,下次直接調用就能夠了。而後方法以下(下一篇日誌會敘述)3d

image

image

三、利用冒號表達式創建一個向量

(1)e1:e2:e3日誌

    其中e1爲初始值,e2爲步長,e3爲終止值(只取到小於或者等於終止值就能夠了),blog

    若是e2省略,那麼默認步長爲1;排序

(2)lidspace(a,b,n)ip

    a,b是生成向量的第一個和最後一個元素,n是元素總數。

四、創建大矩陣(由方括號中的小矩陣或者向量組合起來)

image

五、經過MATLAB集成的交互界面進行建立(最快)

(1)找到新建變量,並單擊

image

(2)而後就能夠進行新建變量了

image

        1處能夠改變變量名字,2處能夠進行矩陣的輸入,3處能夠查看矩陣在內存中是否保存,沒有的話請按Ctrl+s。

2、矩陣的拆分

一、矩陣元素

(1)能夠直接經過下標進行修改和訪問,若是超過了原來矩陣的維度,會自動擴充,而且未填充的元素置爲0。

image

(2)矩陣元素是按照列來存儲,先第一列而後第二列。而後下標和序號能夠一一對應,而後由對應的sub2ind和ind2sub求得

image

image

二、矩陣拆分

(1)用冒號表達式來得到子矩陣

a、a(  : ; j )表示取a矩陣的第j列的所有元素;一樣的a(i;:)表示取a矩陣第i行的所有元素。也能夠直接飲用對應下標取單獨的元素。

b、裏面能夠嵌套冒號表達式,這樣子就能夠取出一個小的矩陣。例子以下

image

c、end表示最後一個數。

(2)利用空矩陣刪除矩陣的元素

clear是把變量從空間中刪除,而[]則是賦值成一個空的矩陣。

一樣可使用引用,進行數組的置空

3、特殊矩陣

一、通用的特殊矩陣:

zeros 產生0的矩陣
ones 產生1的矩陣
eye 產生對角矩陣
rand 產生0~1間均勻分佈的隨機矩陣
randn 產生矩陣爲0,方差爲1的標準正態分佈隨機矩陣

image

二、用於專門學科的特殊矩陣

(1)魔方矩陣(每行每列每對角線都相等)

           magic(n): 生成n階的魔方陣。

(2)範德蒙德矩陣

(3)希爾伯特矩陣

           hilb(n)                n階希爾伯特矩陣

           invhilb(n)          n階希爾伯特的逆矩陣

(4)託普利茲矩陣

           toeplitz(x,y)

image

(5)伴隨矩陣

image

image

 

 

(二)MATLAB運算

1、算術運算

一、基本算數運算

(1)加減

(2)乘法

(3)除法

(4)乘方

       這些運算主要都要服從矩陣的運算法則。維度不符合matlab會進行報錯。

二、點運算

       格式是在正常的符號前面加上一個「.」就行了。

       運算的結果就是對矩陣中的每一個元素相應的運算就行了,

2、關係運算

一、關係運算符:

< 小於
<= 小於等於
> 大於
>= 大於等於
== 等於
~= 不等於

二、運算法則:

(1)標量對標量:直接進行運算

(2)矩陣對矩陣:每一個元素對應進行運算

(3)標量對矩陣:標量對每一個元素進行運算

       最後是真的爲「1」,假的爲「0「。

PS:在這裏記下一個求求餘數的函數rem

3、邏輯運算

一、邏輯運算符。

image

二、運算法則同上。

PS:運算符的優先級排序:算術>關係>邏輯

三、其餘相應的一些邏輯函數(經過名字來記住功能)

image

 

(三)矩陣分析

1、對角陣與三角陣

一、對角陣

(1)提取矩陣對角線上的元素:  diag(A), diag(A,k)

(2)構造對角陣:  diag(A)

       對每行每列進行相同乘數的運算,用對角陣相乘,左乘(對每行進行相乘),右乘(對每列進行相乘)

二、三角陣

(1)上三角陣

    triu(A):將A變成一個上三角矩陣(下半邊爲0)

    triu(A,k):將矩陣A的第k條對角線以上的元素

(2)下三角矩陣

    tril(A)

    tril(A,k)

2、矩陣的轉置與旋轉

一、矩陣的轉置

(1)轉置運算符是單撇號(’)

(2)做用就是求轉置,可是請注意不是求逆矩陣。

二、矩陣的旋轉

(1)運算符號:rot(A,k)

      就是將矩陣逆時針旋轉k*90°的角度。若是單單旋轉90°就能夠直接省略k這個參數。

三、矩陣的左右翻轉

(1)運算符號:fliplr(A)

四、矩陣的上下翻轉

(1)運算符號:flipud(A)

3、矩陣的逆與僞逆

一、矩陣的逆

(1)定義:A·B=B·A=E,就稱A和B互爲逆矩陣。

(2)運算函數:inv(A)

(3)應用:能夠用來求解線性方程組

imageimage

二、矩陣的違逆

(1)定義:咱們知道在矩陣不是滿秩的時候是沒有逆矩陣的。可是能夠找到一個與A的轉置矩陣A`同型的矩陣B,使得知足矩陣的逆的定義。此時稱矩陣B爲矩陣A的違逆。

(2)運算函數:pinv(A)

4、矩陣的行列式

  運算函數:det(A)

5、矩陣的秩與跡

一、矩陣的秩

(1)定義:就是一個矩陣的行數和列數線性無關的數目

(2)運算函數:rank(A)

二、矩陣的跡

(1)定義:就是矩陣對角陣上的元素之和。

(2)運算函數:trace(A)

6、向量和矩陣的範數

一、定義:用來度量矩陣或者向量在某種意義下的長度。

二、向量的3種經常使用範數以及計算函數

   image

三、範數的三個性質:

(1)非負性

(2)齊次性

(3)知足施瓦茨不等式(a,b)<=(a,a)(b,b)

四、矩陣的範數及其計算函數

image

image

運算函數同向量的。

7、矩陣的條件數

(1)定義:在求解線性方程組時,若是係數的微小改變會致使最終結果的很大改變,稱係數矩陣爲病態矩陣,而不會致使最終結果的很大改變的話,則是良性矩陣,而後條件數即是來衡量這一狀況的一個參數。

                條件數等於A的範數與A的逆矩陣的範數的乘積。這樣的話,條件數老是大於1的,若是越接近於1的話,性能越好。

(2)函數爲:

image

8、矩陣的特徵值與特殊矩陣

image

image

image

 

image

(六)字符串

一、規則:

(1)用單引號括起來就是字符串。

(2)而後字符串能夠寫成一個矩陣,可是一個字母是一個元素,因此必定要保證矩陣的維數是正確的。

(3)若是字符串自己有單引號,就要加2個單引號。

(4)較長的字符串能夠用字符串向量表示,及用[]括起來。

(八)稀疏矩陣

1、矩陣存儲方式

一、徹底儲存方式:就是以前咱們使用的方式

二、稀疏矩陣方式:image

2、稀疏儲存方式的產生:

一、將徹底儲存方式轉化爲稀疏矩陣的方式

(1)A=sparse(S):將矩陣S轉化爲稀疏儲存方式的矩陣A

(2)sparse的其餘調用方式:

       sparse(m,n):生成一個m*n的全部元素都是0的稀疏矩陣

       sparse(u,v,S):u,v,S是3個等長的向量。S是要創建的稀疏矩陣的非零元素,u,v是行列下標,而後S是相應的元素值。

(3)其餘操做的方式:

      [u,v,s]=find(A):返回矩陣A中非零元素的下標和元素。

      full(A):返回和稀疏儲存矩陣A對應的徹底儲存方式矩陣。

二、產生稀疏儲存矩陣

image

相關文章
相關標籤/搜索