【源码】简单高斯消元法仿真

% Program to Solve Ax = b using Gaussian Elimination Method

%==========================================================================

% Required Inputs:

%==========================================================================

% Coefficient Matrix, A (n-by-n)

% Right handside vector, b (n-by-1)

%==========================================================================

% Output

%==========================================================================

% Solution vecotr, x

%==========================================================================

% Version 1.0

% Date: 20th August,2019

%==========================================================================

% Developed by : Arshad Afzal, India, Email: arshad.afzal@gmail.com

%==========================================================================

fprintf(’\n ==================================================================================’);

fprintf(’\n Solve Ax = b using Gaussian Elimination Method ');

fprintf(’\n ==================================================================================’);

fprintf(’ ----------------------------------------------------------------------------------’);

% Required Inputs to start the algorithm, and termination criterions

A = input(’\nEnter the coeffcient matrix, A :’);

b = input(’\nEnter the right handside vector, b :’);

%==========================================================================

[m,n] = size(A);

%==========================================================================

% Initialization

x = zeros(m,1);

l = zeros(m,m-1);

%==========================================================================

% Main Program

%==========================================================================

% Reducing Matrix A to upper triangular form

for k = 1:m-1

for i = k+1:m

    l(i,k) = A(i,k)/A(k,k);

    for j = k+1:n

        A(i,j) = A(i,j)-l(i,k)*A(k,j);

    end  

       b(i) = b(i)-l(i,k)*b(k);

end

end

for k = 1:m-1

for i = k+1:m

    A(i,k) = 0;

end

end

%==========================================================================

% Backward substitution

x(m) = b(m)/A(m,m);

for i = m-1?1

sum = 0;

for j = i+1:m

    sum = sum + A(i,j)*x(j);

end

    x(i) = (b(i)- sum)/A(i,i);

end

fprintf(’\n Solution vector :\n’);

x

%================================================

更多精彩文章请关注公众号:在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值