?? gauss1.m
字號:
%列主元gauss消去函數
function [A,u]=gauss(a,n)
%消去過程
for k=1:n-1
%選主元
c=0;
for q=k:n
if abs(a(q,k))>c
c=a(q,k);
l=q;
end
end
%如果主元為0,則矩陣A不可逆
if abs(c)<1e-10
disp('error');
pause;
exit;
end
%如果l不等于k,則交換第l行和第k行
if l~=k
for q=k:n+1
temp=a(k,q);
a(k,q)=a(l,q);
a(l,q)=temp;
end
end
%計算第k步的元素值
for i=k+1:n
for j=k+1:n+1
a(i,j)=a(i,j)-a(i,k)/a(k,k)*a(k,j);
end
end
end
%回代過程
x(n)=a(n,n+1)/a(n,n);
for i=n-1:-1:1
s=0;
for j=i+1:n
s=s+a(i,j)*x(j);
end
x(i)=(a(i,n+1)-s)/a(i,i);
end
%返回列主元gauss消去后的增廣矩陣
A=triu(a);
%返回方程組的解
u=x;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -