欢迎光临散文网 会员登陆 & 注册

啊啊

2023-03-23 09:54 作者:老龙骑士  | 我要投稿

A=[2 0 1 0;0 1 3 2;0 4 2 0;0 1 4 0];

b=[0 2 4 0]';

a=[A b]%构成增广矩阵

n=size(a,1);%size()用来返回数据序列的行数和列数;size(A,1)返回的是矩阵A所对应的行数

%消元

for i=1:n-1

    %列选主元

        [q,nmax]=max(abs(a(i:n,i)));

        p=a(i,:);

        a(i,:)=a(nmax+i-1,:);

        a(nmax+i-1,:)=p;

    for k=i+1:n

        mik=a(i,i:n+1)./a(i,i).*a(k,i);

        a(k,i:n+1)=a(k,i:n+1)-mik;

        clear mik;%mik的长度越来越短,所以在执行每次循环之后要将mik调零

    end

    a

end

%回代

x(n)=a(n,n+1)/a(n,n)

for i=n-1:-1:1

    x(i)=(a(i,n+1)-sum(x(i+1:n).*a(i,i+1:n)))/a(i,i)

end


啊啊的评论 (共 条)

分享到微博请遵守国家法律