线性方程组的直接解法
此方法一般适用于低阶稠密线性方程组。
一、利用左除的直接解法 对于Ax=b,变换后可得到x=A\b
示例代码如下
A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4];
b=[13,-9,6,0]’;
x=A\b`
二、利用矩阵的分解求解(这里介绍的是LU分解)
MATLAB提供的lu函数调用格式如下
1.[L,U]=lu(X);
%产生一个上三角阵U和一个变换形式的下三角阵L,使得X=LU
2.[L,U,P]=lu(X);
%P为置换矩阵,满足PX=LU
示例代码如下(利用LU分解来计算线性方程组)
A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4];
b=[13,-9,6,0]’;
[L,U]=lu(A);
x=U(L\b) %U与括号间还有个左除符号,不知道为什么无法显示
线性方程组的迭代解法
此方法一般用于求解大型稀疏矩阵,这里主要介绍的是Jacobi迭代法,对于方程组Ax=b,若A为非奇异方针,且主对角线元素都不为0,把A分解为A=D-L-U,D是对角矩阵,元素为A的对角元素,L与U为A的下三角矩阵取反和上三角矩阵取反,推导出迭代公式
y=B*x+f
function [y,n]=jacobi(A,b,x0,ep)
D=diag</