声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1364|回复: 1

[综合讨论] 怎样编制能自动选取主元又能手动选取主元的求解线性方程组的Gauss消去过程

[复制链接]
发表于 2006-9-28 00:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
怎样编制一个能自动选取主元,又能手动选取主元的求解线性
方程组的Gauss消去过程?
麻烦写个程序!

[ 本帖最后由 lxq 于 2006-9-28 21:23 编辑 ]
回复
分享到:

使用道具 举报

发表于 2006-9-29 02:19 | 显示全部楼层
  1. function x=gauss(A,b)
  2. %x=gauss(A,b)
  3. n=length(A);
  4. a=[A,b];
  5. for k=1:n-1
  6.     maxa=max(abs(a(k:n,k)));
  7.     if maxa==0
  8.         return;
  9.     end
  10.     for i=k:n
  11.         if abs(a(i,k))==maxa
  12.             y=a(i,k:n+1);a(i,k:n+1)=a(k,k:n+1);a(k,k:n+1)=y;
  13.             break;
  14.         end
  15.     end
  16.     for i=k+1:n
  17.         l(i,k)=a(i,k)/a(k,k);
  18.         a(i,k+1:n+1)=a(i,k+1:n+1)-l(i,k).*a(k,k+1:n+1);
  19.     end
  20. end

  21. %回代
  22. if a(n,n)==0
  23.     return
  24. end
  25. x(n)=a(n,n+1)/a(n,n);
  26. for i=n-1:-1:1
  27.     x(i)=(a(i,n+1)-sum(a(i,i+1:n).*x(i+1:n)))/a(i,i);
  28. end
复制代码

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-12 17:09 , Processed in 0.066378 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表