前言
本節(jié)主要討論矩陣的基本概念和性質(zhì),結(jié)合MATLAB的基礎(chǔ)代碼,適合新手。
一. 行列式
矩陣的行列式的數(shù)學(xué)定義如下:
MATLAB調(diào)用的格式如下:
d=det(A)
例題1
求以下矩陣的行列式:
解:
MATLAB代碼如下:
clc;clear;
A=[16 2 3 13;5 11 10 8;9 7 6 12;4 14 15 1];
det(A)
運(yùn)行結(jié)果:
ans =
? ?5.1337e-13
例題2
利用解析解的方法計(jì)算20??20的Hilbert矩陣的行列式,并分析其代碼運(yùn)行時(shí)間。
解:
MATLAB代碼:
clc;clear;
tic, %時(shí)間的開端
A=sym(hilb(20)); %20階的hilbert矩陣,并寫成符號(hào)形式
det(A),
toc %時(shí)間的結(jié)束
運(yùn)行的結(jié)果較長(zhǎng),如下:
ans =
1/2377454716768534509091644243427616440175419837753486493033185331234419759310644585187585766816573773440565759867265558971765638419710793303386582324149811241023554489166154717809635257797836800000000000000000000000000000000000
歷時(shí) 0.246496 秒
分析:可通過此結(jié)果推斷高階的Hilbert矩陣式接近奇異的矩陣
二. 矩陣的跡
在數(shù)學(xué)中,方陣的跡定義如下:
MATLAB的格式如下:
t=trace(A)
三. 矩陣的秩
矩陣的秩可以理解為該矩陣中行列式不等于0的子式中最大的階次。基于線性無(wú)關(guān)性質(zhì),行秩和列秩是相等的,MATLAB格式如下:
r=rank(A); %利用默認(rèn)的精度求數(shù)值秩
r=rank(A); %給定精度下,求數(shù)值秩
上式子中,r可代表列秩或行秩。
例題3
求矩陣A的秩,A的表達(dá)式如下:
解:
MATLAB代碼如下:
clc;clear;
A=[16 2 3 13;5 11 10 8;9 7 6 12;4 14 15 1];
rank(A)
運(yùn)行結(jié)果:
ans =
? ? ?3
分析:該矩陣的秩為3,小于該矩陣的階次4,所以次矩陣為非滿秩矩陣。
例題4
利用數(shù)值方法和解析方法分別求20??20的Hilbert矩陣的秩。
解:
MATLAB代碼如下:
clc;clear;
H=hilb(20);
r1=rank(H) %數(shù)值方法
H1=sym(hilb(20));
r2=rank(H1) %解析方法
運(yùn)行結(jié)果:
r1 =?13
r2 =?20
分析:兩種方法運(yùn)行結(jié)果不一樣,原因是原矩陣為非奇異矩陣
四. 矩陣范數(shù)
首先,我們來(lái)認(rèn)識(shí)下向量的范數(shù)。函數(shù)為向量的范數(shù),需要滿足如下三個(gè)基本條件:
- ,的充要條件是
- ,其中a為任意的標(biāo)量
- 對(duì)任意向量x和y,都有
![]()
令代表向量的范數(shù),從數(shù)學(xué)的觀點(diǎn)上,范數(shù)的計(jì)算公式如下:
此式子中,
由向量的范數(shù)延伸到矩陣的范數(shù),對(duì)于任意的非零向量x,矩陣A的范數(shù)可定義如下:
常用的三個(gè)范數(shù)計(jì)算如下:
在MATLAB中調(diào)用的格式如下:
N=norm(A) %求解默認(rèn)為2的范數(shù)
N=norm(A,others) %others可填1,,2,inf等
例題5
求解以下向量a和矩陣A的范數(shù)。
a=[16 2 3 13];
解:
MATLAB代碼如下:
clc;clear;
a=[16 2 3 13];
a1=[norm(a),norm(a,2),norm(a,1),norm(a,inf)]
%分別求向量 默認(rèn),2,,1,無(wú)窮大的范數(shù)
A=[16 2 3 13;5 11 10 8;9 7 6 12;0 7 3 6];
A1=[norm(A),norm(A,2),norm(A,1),norm(A,inf)]
%分別求矩陣 默認(rèn),2,,1,無(wú)窮大的范數(shù)
說(shuō)明:因?yàn)榉?hào)運(yùn)算工具箱未提供norm()函數(shù),所以如果給出的是符號(hào)矩陣,則需要先用double()函數(shù)轉(zhuǎn)換成雙精度數(shù)值矩陣,再調(diào)用norm()函數(shù)即可。
五. 特征多項(xiàng)式
矩陣A的特征多項(xiàng)式,定義如下:
MATLAB調(diào)用的格式,如下:
C=poly(A)
例題6
求矩陣A的特征多項(xiàng)式。
解:
MATLAB代碼如下:
clc;clear;
A1=[16 2 3 13;5 11 10 8;9 7 6 12;4 14 15 1];
C1=poly(A1) %直接求解
A2=sym(A1);
C2=charpoly(A2) %運(yùn)用符號(hào)工具箱求解
運(yùn)行結(jié)果:
C1 =
? ?1.0e+03 *
? ? 0.0010 ? -0.0340 ? -0.0800 ? ?2.7200 ? ?0.0000
?
C2 =
[ 1, -34, -80, 2720, 0]
分析:兩個(gè)結(jié)果一致
六. 矩陣多項(xiàng)式
矩陣多項(xiàng)式的數(shù)學(xué)形式如下:
MATLAB調(diào)用的格式,如下:
B=polyvalm(a,A)
如果是點(diǎn)運(yùn)算,則定義如下形式:
MATLAB調(diào)用格式,如下:
C=polyval(a,x)
可以將多項(xiàng)式P中的自變量s替換為x,MATLAB格式如下:
C=subs(p,s,x)
例題7
(1)求向量與矩陣間的矩陣多項(xiàng)式
,
(2)求向量與向量間的矩陣多項(xiàng)式
,
解:
MATLAB代碼如下:
clc;clear;
a=[1 2 3 4];
A=[5 6;7 8];
x=[7 8 9];
C1=polyvalm(a,A)
C2=polyval(a,x)
運(yùn)行結(jié)果:
C1 =
? ? ? ? 1034 ? ? ? ?1200
? ? ? ? 1400 ? ? ? ?1634
C2 =文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-447001.html
? ?466 ? 668 ? 922文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-447001.html
到了這里,關(guān)于基于MATLAB的矩陣性質(zhì):行列式,秩,跡,范數(shù),特征多項(xiàng)式與矩陣多項(xiàng)式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!