高斯消元是一种用于求解线性方程组的算法,通过行变换将线性方程组转化为上三角形式,进而求解未知数的值。下面是一个部分旋转的 MATLAB 代码实现高斯消元的示例:
function x = gauss_elimination(A, b)
% 输入参数:
% A: 系数矩阵
% b: 常数向量
% 返回值:
% x: 解向量
% 获取矩阵的行数和列数
[n, m] = size(A);
% 检查方程组是否为方阵
if n ~= m
error('系数矩阵不是方阵!');
end
% 拼接增广矩阵
Ab = [A, b];
% 高斯消元
for k = 1 : n-1
% 选主元
[~, max_row] = max(abs(Ab(k:n, k)));
max_row = max_row + k - 1;
% 行交换
if max_row ~= k
Ab([k, max_row], :) = Ab([max_row, k], :);
end
% 消元
for i = k+1 : n
factor = Ab(i, k) / Ab(k, k);
Ab(i, k:n+1) = Ab(i, k:n+1) - factor * Ab(k, k:n+1);
end
end
% 回代求解
x = zeros(n, 1);
for i = n : -1 : 1
x(i) = (Ab(i, n+1) - Ab(i, i+1:n) * x(i+1:n)) / Ab(i, i);
end
end
这段代码实现了高斯消元算法,可以用于求解线性方程组。输入参数为系数矩阵 A 和常数向量 b,返回值为解向量 x。算法主要分为两个阶段:高斯消元和回代求解。
使用场景:
腾讯云相关产品和产品介绍链接地址:
以上是腾讯云提供的一些与云计算领域相关的产品和服务。希望对您有所帮助!
领取专属 10元无门槛券
手把手带您无忧上云