实验3 追赶法解三对角方程组 2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数值分析》实验3
一.实验名称:追赶法
二、实验目的:
(1)学会用追赶法解三对角方程组。
三、实验要求
(1) 按照题目要求完成实验内容
(2) 写出相应的C 语言程序
(3) 给出实验结果
(4) 写出相应的实验报告
四、实验题目
1. 追赶法解线性方程组
⎪⎪⎪⎪⎪⎭
⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎪⎭⎫ ⎝⎛------500021121121124321x x x x
2.用追赶法解下列n 阶方程组
123141271411514115141151415n n x x x x x ---⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥--⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥--=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥--⎢⎥⎢⎥⎢⎥--⎢⎥⎣⎦⎣⎦
⎣⎦ 取n=10和n=100。
#include
#include
int main(){
int n=10,i,j,m=n+1;
float a[m][m],u[m][m],l[m][m],t,x[m],y[m],b[m],d=1,e=-4,f=1; for(i=2;i<=n;i++)
b[i]=-15;
b[1]=-27;
for(i=2;i<=n;i++)
{
a[i][i-1]=d; //2,1_n,n-1
a[i-1][i-1]=e; //1,1_n-1,n-1
a[i-1][i]=f; //1,2_n-1,n
}
a[n][n]=e; //n,n
u[1][1]=a[1][1];
for(i=2;i<=n;i++)
{
l[i][i-1]=a[i][i-1]/u[i-1][i-1];
u[i][i]=a[i][i]-l[i][i-1]*a[i-1][i];
}
y[1]=b[1];
for(i=2;i<=n;i++)
y[i]=b[i]-l[i][i-1]*y[i-1];
x[n]=y[n]/u[n][n];
for(i=n-1;i>=1;i--)
x[i]=(y[i]-a[i][i+1]*x[i+1])/u[i][i]; for(i=1;i<=n;i++)
printf(" x[%d]=%f\n",i,x[i]);
}
x[1]=8.705771
x[2]=7.823085
x[3]=7.586571
x[4]=7.523196
x[5]=7.506216
x[6]=7.501665
x[7]=7.500446
x[8]=7.500119
x[9]=7.500031
x[10]=7.500008
x[11]=7.500002
x[12]=7.500000
x[13]=7.500000
x[14]=7.500000
x[16]=7.500000 x[17]=7.500000 x[18]=7.500000 x[19]=7.500000 x[20]=7.500000 x[21]=7.500000 x[22]=7.500000 x[23]=7.500000 x[24]=7.500000 x[25]=7.500000 x[26]=7.500000 x[27]=7.500000 x[28]=7.500000 x[29]=7.500000 x[30]=7.500000 x[31]=7.500000 x[32]=7.500000 x[33]=7.500000 x[34]=7.500000 x[35]=7.500000 x[36]=7.500000 x[37]=7.500000 x[38]=7.500000 x[39]=7.500000 x[40]=7.500000 x[41]=7.500000 x[42]=7.500000 x[43]=7.500000 x[44]=7.500000 x[45]=7.500000 x[46]=7.500000 x[47]=7.500000 x[48]=7.500000 x[49]=7.500000 x[50]=7.500000 x[51]=7.500000 x[52]=7.500000 x[53]=7.500000 x[54]=7.500000 x[55]=7.500000 x[56]=7.500000 x[57]=7.500000 x[58]=7.500000
x[60]=7.500000 x[61]=7.500000 x[62]=7.500000 x[63]=7.500000 x[64]=7.500000 x[65]=7.500000 x[66]=7.500000 x[67]=7.500000 x[68]=7.500000 x[69]=7.500000 x[70]=7.500000 x[71]=7.500000 x[72]=7.500000 x[73]=7.500000 x[74]=7.500000 x[75]=7.500000 x[76]=7.500000 x[77]=7.500000 x[78]=7.500000 x[79]=7.500000 x[80]=7.500000 x[81]=7.500000 x[82]=7.500000 x[83]=7.500000 x[84]=7.500000 x[85]=7.500000 x[86]=7.500000 x[87]=7.500000 x[88]=7.500000 x[89]=7.499999 x[90]=7.499996 x[91]=7.499986 x[92]=7.499947 x[93]=7.499801 x[94]=7.499256 x[95]=7.497224 x[96]=7.489641 x[97]=7.461339 x[98]=7.355716 x[99]=6.961524 x[100]=5.490381 0.000001
-0.000001