LU分解用C语言实现(数值分析经典算法)
发布时间
阅读量:
阅读量
LU分解算法的C语言实现
- 算法理论
-
与算法相关的实验条件
- 实验条件说明
- Step1:确立变量
- Step2:首先为L矩阵的第一列赋予数值
- Step3:对U的第r行以及L的第r列进行数值设定(r=2,3,...,n)
- Step4:判定矩阵A是否具备LU分解的可能性
- Step5:通过Ly=b计算得出y数组
- Step6:利用Ux=y计算得出x数组
- 实验条件说明
-
程序实现
-
- 输入输出验证
-
算法理论
A=LU分解算法:
1. u_{1i}=a_{1i} ,(i=1,2,\cdots,n) ; l_{i1}=a_{i1}/u_{11} ,(i=2,3,\cdots,n)
计算U矩阵中第r行以及L矩阵中第r列的各个元素(r=2,3,\cdots,n):
2. u_{ri}=a_{ri}-\sum_{k=1}^{r-1}l_{rk}u_{kr},(i=r,r+1,\cdots,n)
3. l_{ir}=(a_{ir}-\sum_{k=1}^{r-1}l_{ik}u_{kr})/u_{rr},(i=r+1,\cdots,n,且r\neq n)
用于求解方程组Ly=b,Ux=y的计算公式为:
全部评论 (0)
还没有任何评论哟~
