高斯迭代法MATLAB程序
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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)
运行结果: