Matlab求解n元一次方程的程序,大家帮忙看看那里错了,怎么结果不对呀?function x=gauss(n,A,B)for i=1:nl(i)=i;smax=0;for j=1:nsmax=max(abs(A(i,j)),smax);ends(i)=smax;endfor k=1:(n-1)rmax=0;for i=k:nr=abs(A(l(i),k)/s(l(i)));if (r>r
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/18 15:08:12
Matlab求解n元一次方程的程序,大家帮忙看看那里错了,怎么结果不对呀?function x=gauss(n,A,B)for i=1:nl(i)=i;smax=0;for j=1:nsmax=max(abs(A(i,j)),smax);ends(i)=smax;endfor k=1:(n-1)rmax=0;for i=k:nr=abs(A(l(i),k)/s(l(i)));if (r>r
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元一次方程的程序,大家帮忙看看那里错了,怎么结果不对呀?function x=gauss(n,A,B)for i=1:nl(i)=i;smax=0;for j=1:nsmax=max(abs(A(i,j)),smax);ends(i)=smax;endfor k=1:(n-1)rmax=0;for i=k:nr=abs(A(l(i),k)/s(l(i)));if (r>r
你的这个程序只需保存,不需运行.
在窗口中输入:
gauss(n,A,B) 其中n的值自己定一个,A、B都是一致的数组,没有也自己定义 一个.
A
B
这样就行了!