PS:主要是講解矩陣的相應的實現方法,其實MATLAB的很大一部分的優點,就是集成了矩陣級別的運算,並以此爲特色,能夠進行多維空間上的驗證。算法
讓咱們懂得了原來線性代數如此有用= - =。數組
還能夠有複數矩陣的創建,有兩種方法:函數
(1)直接按照直接輸入法來創建矩陣,可是元素能夠直接打成複數的形式(a+bj)性能
(2)還有就是分別創建一個實部還有一個虛部的矩陣,而後經過(a+bj)就能夠獲得。spa
就是把創建的矩陣存在一個文件裏,下次直接調用就能夠了。而後方法以下(下一篇日誌會敘述)3d
(1)e1:e2:e3日誌
其中e1爲初始值,e2爲步長,e3爲終止值(只取到小於或者等於終止值就能夠了),blog
若是e2省略,那麼默認步長爲1;排序
(2)lidspace(a,b,n)ip
a,b是生成向量的第一個和最後一個元素,n是元素總數。
五、經過MATLAB集成的交互界面進行建立(最快)
(1)找到新建變量,並單擊
(2)而後就能夠進行新建變量了
1處能夠改變變量名字,2處能夠進行矩陣的輸入,3處能夠查看矩陣在內存中是否保存,沒有的話請按Ctrl+s。
(1)能夠直接經過下標進行修改和訪問,若是超過了原來矩陣的維度,會自動擴充,而且未填充的元素置爲0。
(2)矩陣元素是按照列來存儲,先第一列而後第二列。而後下標和序號能夠一一對應,而後由對應的sub2ind和ind2sub求得
(1)用冒號表達式來得到子矩陣
a、a( : ; j )表示取a矩陣的第j列的所有元素;一樣的a(i;:)表示取a矩陣第i行的所有元素。也能夠直接飲用對應下標取單獨的元素。
b、裏面能夠嵌套冒號表達式,這樣子就能夠取出一個小的矩陣。例子以下
c、end表示最後一個數。
(2)利用空矩陣刪除矩陣的元素
clear是把變量從空間中刪除,而[]則是賦值成一個空的矩陣。
一樣可使用引用,進行數組的置空
zeros | 產生0的矩陣 |
ones | 產生1的矩陣 |
eye | 產生對角矩陣 |
rand | 產生0~1間均勻分佈的隨機矩陣 |
randn | 產生矩陣爲0,方差爲1的標準正態分佈隨機矩陣 |
(1)魔方矩陣(每行每列每對角線都相等)
magic(n): 生成n階的魔方陣。
(2)範德蒙德矩陣
(3)希爾伯特矩陣
hilb(n) n階希爾伯特矩陣
invhilb(n) n階希爾伯特的逆矩陣
(4)託普利茲矩陣
toeplitz(x,y)
(5)伴隨矩陣
(1)加減
(2)乘法
(3)除法
(4)乘方
這些運算主要都要服從矩陣的運算法則。維度不符合matlab會進行報錯。
二、點運算
格式是在正常的符號前面加上一個「.」就行了。
運算的結果就是對矩陣中的每一個元素相應的運算就行了,
< | 小於 |
<= | 小於等於 |
> | 大於 |
>= | 大於等於 |
== | 等於 |
~= | 不等於 |
(1)標量對標量:直接進行運算
(2)矩陣對矩陣:每一個元素對應進行運算
(3)標量對矩陣:標量對每一個元素進行運算
最後是真的爲「1」,假的爲「0「。
PS:在這裏記下一個求求餘數的函數rem
PS:運算符的優先級排序:算術>關係>邏輯
(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)
(1)轉置運算符是單撇號(’)
(2)做用就是求轉置,可是請注意不是求逆矩陣。
(1)運算符號:rot(A,k)
就是將矩陣逆時針旋轉k*90°的角度。若是單單旋轉90°就能夠直接省略k這個參數。
(1)運算符號:fliplr(A)
(1)運算符號:flipud(A)
(1)定義:A·B=B·A=E,就稱A和B互爲逆矩陣。
(2)運算函數:inv(A)
(3)應用:能夠用來求解線性方程組
(1)定義:咱們知道在矩陣不是滿秩的時候是沒有逆矩陣的。可是能夠找到一個與A的轉置矩陣A`同型的矩陣B,使得知足矩陣的逆的定義。此時稱矩陣B爲矩陣A的違逆。
(2)運算函數:pinv(A)
運算函數:det(A)
(1)定義:就是一個矩陣的行數和列數線性無關的數目
(2)運算函數:rank(A)
(1)定義:就是矩陣對角陣上的元素之和。
(2)運算函數:trace(A)
一、定義:用來度量矩陣或者向量在某種意義下的長度。
二、向量的3種經常使用範數以及計算函數
三、範數的三個性質:
(1)非負性
(2)齊次性
(3)知足施瓦茨不等式(a,b)<=(a,a)(b,b)
四、矩陣的範數及其計算函數
運算函數同向量的。
(1)定義:在求解線性方程組時,若是係數的微小改變會致使最終結果的很大改變,稱係數矩陣爲病態矩陣,而不會致使最終結果的很大改變的話,則是良性矩陣,而後條件數即是來衡量這一狀況的一個參數。
條件數等於A的範數與A的逆矩陣的範數的乘積。這樣的話,條件數老是大於1的,若是越接近於1的話,性能越好。
(2)函數爲:
(1)用單引號括起來就是字符串。
(2)而後字符串能夠寫成一個矩陣,可是一個字母是一個元素,因此必定要保證矩陣的維數是正確的。
(3)若是字符串自己有單引號,就要加2個單引號。
(4)較長的字符串能夠用字符串向量表示,及用[]括起來。
一、徹底儲存方式:就是以前咱們使用的方式
(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對應的徹底儲存方式矩陣。