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;endfor 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 endendx(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
你的这个程序只需保存,不需运行。在窗口中输入:gauss(n,A,B) 其中n的值自己定一个,A、B都是一致的数组,没有也自己定义 一个。AB这样就行了! |
|