文档详情

三对角方程组的追赶法

飞***
实名认证
店铺
PDF
118.53KB
约7页
文档ID:53965771
三对角方程组的追赶法_第1页
1/7

2013-2014(1)专业课程实践论文题目:三对角方程组的追赶法一、算法理论在一些实际问题中, 例如解常微分方程边值问题, 解热传导方程以及船体数学放样中建立三次样条函数等, 都会要求解系数矩阵为对角占优的三对角线方程组11112222211111nnnnnnnnnbcxfabcxfabcxfabxf,简记为Axf求解Axf:等价于解两个三角形方程组,Lyfy求;,Uxyx求. 从而得到解三对角线方程组的追赶法公式:(1) 计算i的递推公式111/,/,2,3,,1;iiiiicbcbain(2) 解Lyf11111/,/,2,3,, ;iiiiiiiyfbyfa ybain(3) 解Uxy1,,1,2,2,1.nniiiixyxyxinn我们将计算系数12112nnyyy及的过程称为追的过程,将计算方程组的解11nnxxx的过程称为赶的过程二、算法框图if2i≥n+1c1 c1/b1 f1f1/b1i fi+1 iiii itfaff1)1,.,2(ni tcc iii1iiiiuabt11nnnnnn ncabfaff)1,.,1(1nifuffiiii输出f1,f2,,fn输入ai,bi,ci,fiFT三、算法程序#include #include #include #define N 20 double a[N], b[N], c[N-1], f[N], r[N]; int n; int i; void LUDecompose(); // LU 分解 void backSubs(); // 回代 void main() { printf(“ 请输入方程的维数n=“); scanf(“%d“, getchar(); if(n>N||n=0;i--) f[i]=f[i]-c[i]*f[i+1]; } 四、算法实现例 1.用该程序计算三对角线方程组2100012100A012100012100012---=-----,10000b计算其方程组的解。

解:运行程序(1) 显示出 请输入方程组的维数: n=5,回车2) 显示出 请输入下三角元素输入 4 个 a 值:-1 -1 -1 -1,回车3) 显示出 请输入主对角线元素输入 5 个 b 值:2 2 2 2 2 ,回车4) 显示出 请输入上三角元素输入 4 个 c 值:-1 -1 -1 -1,回车5) 显示出 请输入 5 个方程组右端顶: 1 0 0 0 0,回车其解为0.8333330.6666670.5000000.3333330.166667上机运行截图例 2.用该程序计算三对角线方程组3100013100A013100013100013=,11000b计算其方程组的解解:运行程序(1)显示出请输入方程组的维数: n=5.,回车2)显示出请输入下三角元素输入 4 个 a 值:1 1 1 1 ,回车3)显示出请输入主对角线元素输入 5 个 b 值:3 3 3 3 3 ,回车4)显示出请输入上三角元素输入 4 个 c 值:1 1 1 1 ,回车5)显示出请输入 5 个方程组右端顶: 1 1 0 0 0,回车其解为0.2361110.2916670.1111110.0411670.013889上机运行截图。

下载提示
相似文档
正为您匹配相似的精品文档