MATLAB 高斯-若尔当消去法求解线性方程组
使用 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 代码实现高斯-若尔当消去法求解线性方程组的步骤,并给出了具体的代码和运行结果。高斯-若尔当消去法是一种常用的矩阵求解方法,可以用于求解各种线性方程组。
原文地址: https://www.cveoy.top/t/topic/nzdr 著作权归作者所有。请勿转载和采集!