?? gauss.asv
字號:
function [x,det,index]=Gauss(A,b)
% 求線形方程組的列主元Gauss消去法,其中,
% A為方程組的系數(shù)矩陣;
% b為方程組的右端項;
% x為方程組的解;
% det為系數(shù)矩陣A的行列式的值;
% index為指標變量,index=0表示計算失敗,index=1表示計算成功。
[n,m]=size(A); nb=length(b);
% 當方程組行與列的維數(shù)不相等時,停止計算,并輸出出錯信息。
if n~=m
error('The rows and columns of matrix A must be equal!');
return;
end
% 當方程組與右端項的維數(shù)不匹配時,停止計算,并輸出出錯信息
if m~=nb
error('The columns of A must be equal the length of b!');
return;
end
% 開始計算,先賦初值
index=1;det=1;x=zeros(n,1);
for k=1:n-1
% 選主元
a_max=0;
for i=k:n
if abs(A(i,k))>a_max
a_max=abs(A(i,k));r=i;
end
end
if a_max<1e-10
index=0;return;
end
% 交換兩行
if r>k
for j=k:n
z=A(k,j);A(k,j)=A(r,j);A(r,j)=z;
end
z=b(k);b(k)=b(r);b(r)=z;det=-det;
end
% 消元過程
for i=k+1:n
m=A(i,k)/A
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -