matlab中的矩阵
生活随笔
收集整理的這篇文章主要介紹了
matlab中的矩阵
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我們知道,求解線性方程組是線性代數課程中的核心內容,而矩陣又在求解線性方程組的過程中扮演著舉足輕重的角色。下面我們就利用科學計算軟件MATLAB來演示如何使用矩陣,同時,也使學生對線性代數的認識更加理性。 一、矩陣的構造 在MatLab中,構造矩陣的方法有兩種。一種是直接法,就是通過鍵盤輸入的方式直接構造矩陣。另一種是利用函數產生矩陣。 例1.利用pascal函數來產生一個矩陣 A=pascal(3) A= 1?? 1?? 1 1?? 2?? 3 1?? 3?? 6 例2.利用magic函數來產生一個矩陣 B=magic(3) B= 8?? 1?? 6 3?? 5?? 7 4?? 9?? 2 例3.還可以利用函數產生一個4*3的隨機矩陣 >>c=rand(4,3) c= ??? 0.9501??? 0.8913??? 0.8214 ??? 0.2311??? 0.7621??? 0.4447 ??? 0.6068??? 0.4565??? 0.6154 0.4860??? 0.0185??? 0.7919 例4.利用直接輸入法可產生列矩陣、行矩陣及常數 u=[3;1;4] u= 3 1 4 v=[2 0 -1] v= 2?? 0?? -1 s=7 s= 7 二、矩陣的基本運算 1、四則運算 例5.矩陣的加法 X=A+B X= 9?? 2?? 7 4?? 7?? 10 5?? 12?? 8 例6.矩陣的減法 Y=X-A Y= 8?? 1?? 6 3?? 5?? 7 4?? 9?? 2 注: 若二個矩陣的大小不完全相同,則會出錯! 例如,X=A+u ??? Error using ==> plus Matrix dimensions must agree。 例7.矩陣的乘法 X=A*B X= 15??? 15??? 15 26??? 38??? 26 41??? 70??? 39 注: 若第一個矩陣的列數和第二個矩陣行數不相同,這兩個矩陣就不可以相乘。 例如,X=A*v ??? Error using ==> mtimes Inner matrix dimensions must agree。 在MATLAB中,矩陣的除法有兩個運算符號,分別為左除“/”與右除“/”,矩陣的右除運算速度要慢一點,而左除運算可以避免奇異矩陣的影響,它們的作用主要用于求解線性方程組,我們在后面會涉及到矩陣的除法。 2、矩陣的轉置、逆運算及行列式運算 與線性代數中一樣,矩陣的轉置只需用符號“,”來表示即可。 例8.求矩陣B的轉置 X=B' X= 8?? 3?? 4 1?? 5?? 9 6?? 7?? 2 線性代數中求矩陣逆的運算非常復雜,而在MATLAB中,矩陣的逆運算只需要函數“inv”來實現,這大大簡化了計算過程。 例9.求矩陣A的逆 X=inv(A) X= 3???? -3???? 1 -3???? 5??? -2 1???? -2???? 1 在MATLAB中,求矩陣的行列式大小,可用函數“det”實現。 例10.求矩陣A的行列式 X=det(A) X= 1 注: 在求矩陣的逆和行列式時,一定要求矩陣是一個方陣,否則會出錯! 例如,>>X=inv(u) ??? Error using ==> inv Matrix must be square。 再如,X=det(u) ??? Error using ==> det Matrix must be square。 三、矩陣的常用函數運算 1.矩陣的特征值運算 在線性代數中,計算矩陣特征值及特征向量的過程相當麻煩,但在MATLAB中,矩陣特征值運算只需要函數“eig”或“eigs”即可。 例11.求矩陣A的特征值及特征向量 >>[b,c]=eig(A) b= ?? -0.5438?? -0.8165??? 0.1938 ??? 0.7812?? -0.4082??? 0.4722 ?? -0.3065??? 0.4082??? 0.8599 c= ??? 0.1270???????? 0???????? 0 ???????? 0??? 1.0000???????? 0 ???????? 0???????? 0??? 7.8730 上例中的b、c矩陣分別為特征向量矩陣和特征值矩陣。 2.矩陣的秩運算 矩陣的秩在求解線性方程組中應用非常廣泛,而在線性代數中計算矩陣的秩也非常復雜,但在MATLAB中,矩陣的秩只需要用函數“rank”即可。 例12.求矩陣A的秩 >>x=rank(A) x= 3 3.矩陣的正交化運算 在MATLAB中,矩陣的正交化運算可由函數“orth”計算得到。下面的例子用來求矩陣的一組正交基,有了正交基就可以對矩陣進行正交化了。 例13.求矩陣A的正交基 >>x=orth(A) x= ?? -0.1938??? 0.8165?? 0.5438 ?? -0.4722??? 0.4082?? -0.7812 ?? -0.8599?? -0.4082??? 0.3065 4.矩陣的跡運算 矩陣的跡是指矩陣主對角線上所有元素的和,在MATLAB中,矩陣的跡可由函數“trace”計算得到。 例14.求矩陣A的跡 >>x=trace(A) x= ???? 9 四、特殊矩陣的生成 MATLAB中提供了幾個特殊矩陣,主要包括如下: 1.空矩陣 空矩陣用“[]”表示,空矩陣的大小為零,但變量名存在于工作空間中。 例15 >>[] ans= ???? [] 2.單位矩陣 在MATLAB中,單位矩陣可用函數“eye(n,m)”實現,其中n表行數,m表列數。 例16 >>x=eye(4,3) x= ???? 1???? 0???? 0 ???? 0???? 1???? 0 ???? 0???? 0???? 1 ???? 0???? 0???? 0 3.全部元素為1的矩陣 在MATLAB中,全部元素為1的矩陣可用函數“ones(n,m)”實現。 例17 >>x=ones(4,3) x= ???? 1???? 1???? 1 ???? 1???? 1???? 1 ???? 1???? 1???? 1 1???? 1???? 1 4.全部元素為0的矩陣 在MATLAB中,全部元素為0的矩陣可用函數“zeros(n,m)”實現。 例18 >>x=zeros(4,3) x= ???? 0???? 0???? 0 ???? 0???? 0???? 0 ???? 0???? 0???? 0 0???? 0???? 0 5.魔方矩陣 魔方矩陣有一個有趣的性質,其每行、每列及兩條對角線上的元素和都相等。MATLAB提供了求魔方矩陣的函數“magic(n)”,其功能是生成一個n階魔方陣。6.伴隨矩陣 在MATLAB中,某個矩陣的伴隨矩陣可用函數“compan(A)”實現。 例20 >>u=[1 0 -7 6]; >>x=compan(u) x= ???? 0???? 7??? -6 ???? 1???? 0???? 0 0???? 1???? 0 注: 函數compan()中的變量必須是向量形式,而不能是矩陣。 7.隨機矩陣 隨機矩陣在數理統計的研究中非常重要,它們表示元素服從某個分布如均勻分布、正態分布的矩陣。在MATLAB中,隨機矩陣可用函數“rand(n,m)”實現。 例21 >>x=rand(4,3) x= ??? 0.9501??? 0.8913??? 0.8214 ??? 0.2311??? 0.7621??? 0.4447 ??? 0.6068??? 0.4565??? 0.6154 0.4860??? 0.0185??? 0.7919 8.帕斯卡矩陣 我們知道,二次項 展開后的系數隨n的增大組成一個三角形表,稱為 楊輝三角形。由楊輝三角形表組成的矩陣稱為帕斯卡(Pascal)矩陣,函數pascal(n)生成一個n階帕斯卡矩陣。 例22 >>x=pascal(3) x= ???? 1???? 1???? 1 ???? 1???? 2???? 3 ???? 1???? 3???? 6 9.范得蒙矩陣 在MATLAB中,函數vander(V)生成以向量V為基礎向量的范得蒙矩陣。
http://shumozxf.blog.sohu.com/60503921.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的matlab中的矩阵的全部內容,希望文章能夠幫你解決所遇到的問題。