matlab怎么计算行列式,Matlab 线性代数(一)–行列式与方程组求解 | 学步园
1.
%用克萊姆法則求解方程組
clear
n=input('方程個數=')
A=input('系數矩陣A=')
b=input('常數列向量b=')
if((size(A)~=[n,n])|(size(b)~=[n,1])) %判斷矩陣A和向量b輸入格式是否正確
disp('輸入不正確,要求A是n階方陣,b是n維列向量') %disp:顯示字符串
elseif det(A)==0 %判斷系數行列式是否為零
disp('系數行列式為零,不能用克萊姆法則解此方程。')
else
for i=1:n %計算x1,x2,...xn
B=A;
B(:,i)=b;
x(i)=det(B)/det(A);
end
x=x' %以列向量形式顯示方程組的解
end
2.
%逆矩陣各種求法:
clear
A=[-7 -2 -6 4 6;1 3 -6 3 11;3 -11 9 5 -2;-3 0 -2 9 -3;7 30 -18 11 4]
%1.命令法:
An1=inv(A)
%2.冪運
3.
%求解符號行列式方程
clear
syms x %定義x為符號變量
A=[3,2,1,1;3,2,2-x^2,1;5,1,3,2;7-x^2,1,3,2]
D=det(A) %計算含符號變量矩陣A的行列式D
f=factor(D) %對行列式D進行因式分解
X=solve(D)
4.
%驗證行列式按行展開公式
clear
format long
A=round(randn(5)*10) %構造一個5階隨機數方陣A
s=0;
for j=1:5 %按第一行展開
T=A;
T(1,:)=[];
T(:,j)=[];
s=s+A(1,j)*(-1)^(1+j)*det(T);
end
s
D=det(A)
總結
以上是生活随笔為你收集整理的matlab怎么计算行列式,Matlab 线性代数(一)–行列式与方程组求解 | 学步园的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 英语词频统计软件_Pyth
- 下一篇: 地铁框架保护的原理_继电保护的基础知识和