MATLAB线性方程组求解函数:LU分解法
function x = solveLinearEquation(a,b) % a为n×n矩阵,b为n×1向量 % 求解线性方程组a乘以x等于b
n = size(a,1); % 矩阵a的行数,也就是方程组的未知数个数 [L,U] = lu(a); % LU分解 y = zeros(n,1); x = zeros(n,1);
% 前向替换 for i = 1:n y(i) = b(i); for j = 1:i-1 y(i) = y(i) - L(i,j)*y(j); end end
% 后向替换 for i = n:-1:1 x(i) = y(i); for j = i+1:n x(i) = x(i) - U(i,j)*x(j); end x(i) = x(i)/U(i,i); end
end
原文地址: https://www.cveoy.top/t/topic/jXjD 著作权归作者所有。请勿转载和采集!