高斯迭代法MATLAB程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

高斯迭代法MATLAB程序:

function[x]=gauss(a,b)

n=length(a);

x=zeros(n,1);

a=[a b];

for k=1:n-1

max=k;

for i=k+1:n

if a(i,k)>a(max,k)

max=i;

end

end

temp=a(k,k:n+1);

a(k,k:n+1)=a(max,k:n+1);

a(max,k:n+1)=temp;

for i=k+1:n

a(i,k)=-a(i,k)/a(k,k);

a(i,k+1:n+1)=a(i,k+1:n+1)+a(i,k)*a(k,k+1:n+1);

end

end

x(n,1)=a(n,n+1)/a(n,n);

for i=n-1:-1:1

sum=0;

for j=i+1:n

sum=sum+x(j,1)*a(i,j);

end

x(i,1)=(a(i,n+1)-sum)/a(i,i);

end

窗口命令:

Gauss

a=[0 3 4;1 -1 1;2 1 2];

b=[1;2;3];

gauss(a,b)

运行结果:

相关文档
最新文档