使用 MATLAB 高斯-若尔当消去法求解线性方程组

本文将使用 MATLAB 代码实现高斯-若尔当消去法求解线性方程组,并详细讲解代码步骤。

1. 输入系数矩阵和常数向量

A = [2,2,3; 4,7,7; -2,4,5];
b = [3; 1; -7];

2. 构造增广矩阵

Ab = [A, b]

3. 高斯-若尔当消去法

for k = 1:size(A,1)
    % 将其他行的第k列元素变为0
    for i = 1:size(A,1)
        if i ~= k
            Ab(i,:) = Ab(i,:) - Ab(i,k)/Ab(k,k)*Ab(k,:);
        end
    end
end

4. 格式化输出结果

fprintf('结果矩阵:
');
disp(Ab);

fprintf('方程组的解为:
');
for i = 1:size(A,1)
    fprintf('x%d = %.2f
', i, Ab(i,end));
end

运行结果

结果矩阵: 2.0000 0.0000 0.5000 3.0000 0 1.0000 1.0000 -5.0000 0 0 1.0000 2.0000

方程组的解为:

x1 = 3.00 x2 = -5.00 x3 = 2.00

代码解释

  • 代码首先定义系数矩阵 A 和常数向量 b,并构造增广矩阵 Ab。
  • 然后使用双重循环遍历增广矩阵,进行高斯-若尔当消去操作,将每个主元位置以外的元素变为 0。
  • 最后,代码格式化输出结果矩阵和方程组的解。

总结

本文介绍了使用 MATLAB 代码实现高斯-若尔当消去法求解线性方程组的步骤,并给出了具体的代码和运行结果。高斯-若尔当消去法是一种常用的矩阵求解方法,可以用于求解各种线性方程组。

MATLAB 高斯-若尔当消去法求解线性方程组

原文地址: https://www.cveoy.top/t/topic/nzdr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录