数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 2104|回复: 0

[原创]介绍一种求多元方程组的方法:-)

[复制链接]
发表于 2003-9-4 08:20:01 | 显示全部楼层 |阅读模式
%简单的GAUSS消去法
%a为系数方阵,b为右端向量
function x = gauss(a,b)
[n,m] = size(b);
if size(a) == [n,n]
    for i = 1 : (n - 1)
        if a(i,i) == 0 error('Divide by zero');end
        b((i + 1):n, = b((i + 1):n, - a((i + 1):n,i)*b(i,/a(i,i);
        a((i + 1):n,i:n) = a((i + 1):n,i:n) - ...
            a((i + 1):n,i)*a(i,i:n)/a(i,i);
        [a,b]
    end
    if a(n,n) == 0,error('Divide by zero');end
    x(n,:) = b(n,:)/a(n,n);
    for i = n-1:-1:1
        x(i,:) = b(i,:) - a(i,(i + 1):n)*x((i + 1):n,:)/a(i,i);
    end
else,error('Divede of matrix must agree');
end
%请大家赐教其他的好方法
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-27 01:41 , Processed in 0.048507 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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