Gauss-Jordan消元法MATLAB代码
时间: 2024-09-30 11:02:43 浏览: 60
Gauss-Jordan消元法是一种线性代数中求解矩阵方程组的标准方法,它通过一系列行操作将增广矩阵(即系数矩阵和常数向量组合)化简为阶梯形或单位矩阵形式。在MATLAB中,你可以使用`rref`函数或者手动编写循环结构来实现这个过程。
这是一个简单的MATLAB代码示例,用于求解一个线性系统:
```matlab
% 创建系数矩阵 A 和常数向量 b
A = [3 5; -1 2];
b = [9; 4];
% 使用 rref 函数直接求解
[U, V, R] = rref(A); % U 为行交换后的矩阵,V 为列变换矩阵,R 为简化后的阶梯形矩阵
x = R\(V'*b); % 解得 x 是解向量
% 手动Gauss-Jordan消元
n = size(A, 1);
for i = 1:n
for j = i+1:n
factor = A(j,i) / A(i,i); % 消元因子
A(j,:) = A(j,:) - factor * A(i,:);
b(j) = b(j) - factor * b(i);
end
end
x_manual = A(end,:)./A(end,end); % 手动计算解向量
% 输出结果
disp('Using rref:')
disp(x)
disp('Manual Gauss-Jordan elimination:')
disp(x_manual)
```
阅读全文