matlab中一切資料型別都是以矩陣的形式儲存計算的,矩陣的分析運算函式很重要,學習這裡線性代數基礎要好,得多看看線代
%%
%矩陣分析
%奇異矩陣(行列式為0的方陣)不可逆,可逆矩陣一定滿秩
%(可逆矩陣就是非奇異矩陣,非奇異矩陣也是可逆矩陣)
%%%求逆矩陣inv()
clca=[1 2 -3;3 4 5;7 8 9];
b=inv(a);
fprintf('奇異矩陣不可逆\n');
disp('a的逆矩陣是:');b%%
%求向量的範數norm()
clear
clca=[1 2 3 -1 -2 -3];
n1=norm(a,1)%求一節番薯
sum(abs(a))
n2=norm(a,2)%二階
sum_liu=0;%小心系統定義函式名被覆蓋
for i=1:length(a)
sum_liu=sum_liu+a(i)^2;
endsqrt(sum_liu)
n3=norm(a,inf)%無窮階
max(abs(a))
%求矩陣的範數norm()
a=[1,2,3;3,4,5;7,8,9];
n1=norm(a,1)
max(sum(abs(a)))
n2=norm(a,2)
norm(a)
n3=norm(a,inf)
max(sum(abs(a')))
%% %矩陣的秩rank()
clear
clca=[1,2,3;3,4,5;7,8,9];
r1=rank(a)
b=magic(5);
r2=rank(b)
%% %求矩陣的行列式det()
clcclear
format long;
a=[1,2,-3;3,4,5;7,-8,9];
d1=det(a)
b=magic(3);
d2=det(b)
%n階矩陣的行列式是n*n的矩陣通過一種運算求出的數值,這個值的幾何含義是n維向量張成的體積
%%%矩陣的跡trace()
%對角線元素之和
a=[1,2,-3;3,4,5;7,-8,9];
t1=trace(a)
b=magic(3);
t2=trace(b)
%% %化零矩陣null()
clear
clca=[1,2,3;3,4,5;7,8,9];
null(a)
n=null(a,'r')%『r'代表得到有理數形式的化零矩陣
a*n%%
%矩陣的正交基orth()
clear
clc a=[1,2,3;3,4,5;7,8,9];
orth(a)
%% %矩陣的最簡行階梯形式rref()
%用於求解線性方程組
clear
clc a=[1,0,-3;0,-4,5;0,0,-10];
rref(a)
%% %矩陣之間的夾角subspace()
%夾角表示兩矩陣之間的線性相關度
clear
clca=[1,2,3;3,4,5;7,8,9];
b=magic(3);
subspace(a,b)
%%%矩陣分解
%講四種
%針對對稱正定矩陣的cholesky分解chol()
clear
clca=pascal(5)%帕斯卡矩陣對稱正定
r=chol(a)
r'r'*r%==a
%針對方陣的高斯消去lu()
clca=[1,2,3;3,4,5;7,8,9];
[l1,u1]=lu(a)
l1*u1
[l2,u2,p]=lu(a)
inv(p)*l2*u2
%針對矩形矩陣的正交分解qr()
clc[q r]=qr(a)
q*r%針對方陣的舒爾分解
clca=pascal(5)
[u s]=schur(a)%u為酋矩陣,s為塊對角矩陣
u*s*u'
%特徵值分解svd()
clca = [1 2; 3 4; 5 6; 7 8]
[u,s,v] = svd(a)
u*s*v'
%% %q求方陣的特徵值和特徵向量eig()
clear
clcformat rat;
a=[0.8,0.2;0.2,0.8]
eig(a)%返回特徵值組成的列向量
[x d]=eig(a)%特徵值d,特徵向量x
for i=1:length(d)
a*x(:,i)
max(d(:,i))*x(:,i)
end
%求奇異值
%設a為m*n階矩陣,q=min(m,n),a*a的q個非負特徵值的算術平方根叫作a的奇異值
clca = [1 0 1; -1 -2 0; 0 1 -1]
svd(a)%奇異值組成的列向量
rank(a)
%矩陣a的秩等於它的非零奇異值的個數
自學MATLAB(三) 矩陣分析
一.矩陣分析 1.向量和範數運算 範數被用來度量某個向量空間 或矩陣 中每個向量的長度和大小,滿足非負性 齊次性 三角不等式三個條件。最有用的是1 2 階範數。向量的1階範數為各元素絕對值之和,2階範數為向量的模,階範數為向量中元素的最大值。矩陣的1階範數為矩陣每列之和的最大值,2階範數為矩陣的最大...
MATLAB矩陣的分析和處理(一)
2.專門學科特殊矩陣 號為暫時沒用到的特殊學科矩陣 表通用的特殊矩陣的函式的函式及其含義 函式名含義zeros 產生全0矩陣 零矩陣 ones 產生全1矩陣 么矩陣 eye產生單位矩陣 rand 產生0 1間均勻分布的隨機矩陣 randn 產生均值為0,方差為1的標準正態分佈隨機矩陣 使用上述函式建...
Matlab矩陣與矩陣運算
1.矩陣的建立函式 特殊矩陣 a.矩陣轉置 inv a 矩陣求逆 sparse a 稀疏矩陣 full a 將稀疏矩陣轉換為普通矩陣 eye n n階單位矩陣 zeros m,n m n的零矩陣 ones m,n m n的元素全為1的矩陣 rand m,n m n的隨機矩陣,元素在0 1間均勻分布 ...