作业帮 > 综合 > 作业

Matlab求解n元一次方程的程序,大家帮忙看看那里错了,怎么结果不对呀?

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/14 09:55:00
Matlab求解n元一次方程的程序,大家帮忙看看那里错了,怎么结果不对呀?
function x=gauss(n,A,B)
for i=1:n
l(i)=i;
smax=0;
for j=1:n
smax=max(abs(A(i,j)),smax);
end
s(i)=smax;
end
for k=1:(n-1)
rmax=0;
for i=k:n
r=abs(A(l(i),k)/s(l(i)));
if (r>rmax)
rmax=r;
j=i;
end
end
m=l(j);
l(j)=l(k);
l(k)=m;
for i=k+1:n
xmult=A(l(i),k)/A(l(k),k);
A(l(i),k)=xmult;
for j=k+1:n
A(l(i),j)=A(l(i),j)-xmult*A(l(k),j)
B(l(i))=B(l(i))-A(l(i),k)*B(l(k));
end
end
end
x(n)=B(l(n))/A(l(n),n);
for i=n-1:(-1):1
sum=B(l(i));
for j=i+1:n
sum=sum-A(l(i),j)*x(j);
end
x(i)=sum/A(l(i),i)
end
Matlab求解n元一次方程的程序,大家帮忙看看那里错了,怎么结果不对呀?
你的这个程序只需保存,不需运行.
在窗口中输入:
gauss(n,A,B) 其中n的值自己定一个,A、B都是一致的数组,没有也自己定义 一个.
A
B
这样就行了!