matlab高斯消去法程序代码,如何在MATLAB用高斯消去法求解线性方程组程序

  • Post author:
  • Post category:其他


满意答案

dcebd7a0de6265b6ccae5ead692f1eab.png

个inhjn

2013.04.23

dcebd7a0de6265b6ccae5ead692f1eab.png

采纳率:49%    等级:12

已帮助:15459人

程序如下function x=gauss(A,b) %高斯求解方程组%x=gauss(A,b)n=length(A);a=[A,b];for k=1:n-1 maxa=max(abs(a(k:n,k))); if maxa==0 return; end for i=k:n if abs(a(i,k))==maxa y=a(i,k:n+1);a(i,k:n+1)=a(k,k:n+1);a(k,k:n+1)=y; break; end end for i=k+1:n l(i,k)=a(i,k)/a(k,k); a(i,k+1:n+1)=a(i,k+1:n+1)-l(i,k).*a(k,k+1:n+1); endend%回代if a(n,n)==0 returnendx(n)=a(n,n+1)/a(n,n);for i=n-1:-1:1 x(i)=(a(i,n+1)-sum(a(i,i+1:n).*x(i+1:n)))/a(i,i);end 调用示例如下:>> A=[2,-1,3;4,2,5;1,2,0];

>> b=[1;4;7];

>> x=gauss(A,b)x = 9 -1 -6

25分享举报