solvebychol.m
来自「MATLAB科学计算与工程分析源代码源程序4」· M 代码 · 共 29 行
M
29 行
function x=solvebyCHOL(A,b)
% 该函数利用Cholesky分解法求线性方程组Ax=b的解
% 编写日期:2007-5-14
lambda=eig(A);
if lambda>eps&isequal(A,A')
[n,n]=size(A);
R=chol(A);
%解R'y=b
y(1)=b(1)/R(1,1);
if n>1
for i=2:n
y(i)=(b(i)-R(1:i-1,i)'*y(1:i-1)')/R(i,i);
end
end
%解Rx=y
x(n)=y(n)/R(n,n);
if n>1
for i=n-1:-1:1
x(i)=(y(i)-R(i,i+1:n)*x(i+1:n)')/R(i,i);
end
end
x=x';
else
x=[];
disp('该方法只适用于对称正定的系数矩阵!');
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?