数值计算方法高斯消元法(列选主元)matlab实现

clear
A=[12,-3,3;-18,3,3;1,1,1];
b=[15;-15;6];
[~,n]=size(A);
%% 消元
for k=1:n-1
    %%选主元
    [~,index]=max(abs(A(k:end,k)));
    if index~=k
        temp_A=A(k,:);
        A(k,:)=A(index,:);
        A(index,:)=temp_A;
        temp_b=b(k);
        b(k)=b(index);
        b(index)=temp_b;
    end
    for i=k+1:n
        A(i,k)=A(i,k)/A(k,k);
        A(i,k+1:end)=A(i,k+1:end)-A(i,k)*A(k,k+1:end);
        b(i)=b(i)-A(i,k)*b(k);
    end
end
%% 回代
b(n)=b(n)/A(n,n);
for i=n-1:-1:1
    b(i)=(b(i)-A(i,i+1:n)*b(i+1:n))/A(i,i);
end
x=b;
x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值