利用列主元的高斯消去法matlab程序源代码:
首先建立一个gaussMethod.m的文件,用来实现列主元的消去方法。 function x=gaussMethod(A,b)
%高斯列主元消去法,要求系数矩阵非奇异的, % n = size(A,1);
if abs(det(A))<= 1e-8
error('系数矩阵是奇异的'); return; end %
for k=1:n
ak = max(abs(A(k:n,k))); index = find(A(:,k)==ak); if length(index) == 0
index = find(A(:,k)==-ak); end
%交换列主元
temp = A(index,:); A(index,:) = A(k,:); A(k,:) = temp;
temp = b(index);b(index) = b(k); b(k) = temp; %消元过程 for i=k+1:n
m=A(i,k)/A(k,k); %消除列元素
A(i,k+1:n)=A(i,k+1:n)-m*A(k,k+1:n); b(i)=b(i)-m*b(k); end end
%回代过程
x(n)=b(n)/A(n,n); for k=n-1:-1:1;
x(k)=(b(k)-A(k,k+1:n)*x(k+1:n)')/A(k,k); end x=x'; end
然后调用gaussMethod函数,来实现列主元的高斯消去法。在命令框中输入下列命令:
输出结果如下:
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务