1. 程式人生 > >Matlab中矩陣的基本運算

Matlab中矩陣的基本運算

%% 1.矩陣的秩
%% 2.行列式和逆矩陣
%% 3.矩陣的跡和範數
%% 4.條件數
%% 5.特徵值和特徵向量
%% 6.線性方程組的解




%  1.矩陣的秩


A=magic(5)
rank(A);%表示矩陣的秩
rref(A);%化簡為行階梯型矩陣


% 2.行列式和逆矩陣


B=magic(2);
det(B);%行列式
inv(B);%求逆,注意對於不可逆矩陣他也會求出逆來,但是會有警告
pinv(B);%偽逆矩陣,用於求非方陣或者為奇異矩陣的偽逆,滿足ABA=A,BAB=B


% 3.矩陣的跡和範數


trace(a);%求矩陣的跡即矩陣對角線元素之和或者說是矩陣的特徵值之和
norm(a,1);%計算矩陣的1範數,預設為2範數,inf為無窮大範數,‘fro’為Frobenius範數


% 4.條件數


cond(a,2);%矩陣的2範數條件數,他是解線性方程組時判斷係數矩陣的變化對解的影響程度的一個引數。它的定義依賴於範數,接近1表示方程為良性的否則為病態的


% 5.特徵值和特徵向量


D=magic(4);
eig(D);%計算D的特徵值
[c,d]=eig(D);%計算D的特徵值和特徵向量


% 6.線性方程組的解


% 下面的是用來求解方程組: 2x+3y=7,3x+2y=8 的解,同理對於係數矩陣不是方陣的可以用pinv來進行求解
a=[2 3;3 2];
b=[7 8]';
x=inv(a)*b;
% 齊次線性方程組求解,2X1+X2+X3-X4=0,4X1+2X2+2X3-2X4=0,X1+3X2+2X3-4X4=0,X1+2X2+2X3+2X4=0
E=[2 1 1 -1; 4 2 2 -2;1 3 2 -4;1 2 2 2];
format rat%有理數顯示結果
rref(E);%直接可以寫出通解 X1=4/3X4,X2=6X4,X3=23/3X4
null(E,'r') %求基礎解系,r為可選引數,有r表示出現的是一組基,無r表示出現的是正交規範基