...ld… 2021-07-28 17:05 采纳率: 0%
浏览 21

关于#matlab#实现高斯列主元法的问题

问题:
1.计算结果中“abs=4”如何删除;
2.计算结果不正确,代码中哪一处出了问题(A=[1,0,2,0;0,1,0,1;1,2,4,3;0,2,0,3];b=[5,3,17,7]';X=[1 1 2 2]).

function [RA,RB,N,X] =Gauss(A,b)
%UNTITLED 此处显示有关此函数的摘要
%   此处显示详细说明
B=[A,b];
N=length(b);
RA=rank(A);
RB=rank(B);
Diff=RA-RB;
if Diff~=0;
    disp('无解.');
    return
else
    if RA==N
        X=zeros(N,1);
        C=zeros(1,N+1);
        for i=1:(N-1)
            [Y K]=max(abs(B(i:N,i)));
            C=B(i,:);
            B(i,:)=B(i+K-1,:);
            B(i+K-1,:)=C;
            for j=(i+1):N
                B(j,i:N+1)=B(j,i:N+1)-B(i,i:N+1)*B(j,i)/B(i,i);
            end
        end
        b=B(:,N+1);
        A=B(1:N,1:N);
        X(N)=b(N)/A(N,N);
        for i=(N-1):(-1):1
            X(i)=(b(i)-sum(A(i,i+1:N)*X(i+1:N)))/A(i,i);
        end
    else
        disp('无穷多解.')
    end
end
X=X';
RA
RB
N
X

  • 写回答

1条回答 默认 最新

  • CSDN专家-Matlab_Fans 2021-07-28 19:47
    关注

    程序运行结果:

    
    
    RA =
    
         4
    
    
    RB =
    
         4
    
    
    N =
    
         4
    
    
    X =
    
             0    2.0000    2.5000    1.0000
    

    Matlab计算的标准结果为 X2 = A \ b:

    
    X2 =
    
             0
        2.0000
        2.5000
        1.0000
    

    结果相同,说明编写的算法没问题。

    评论

报告相同问题?

问题事件

  • 创建了问题 7月28日

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘