用追赶法求解三对角方程组Ax
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//用追赶法求解三对角方程组Ax=d
#include <iostrea>
#include <cmath>
using namespace std;
void zhuigan(int n,double a[],double b[],double c[],double d[])
{
int i;
for(i=2;i<=n;i++)
{
a[i]/=b[i-1];
b[i]-=a[i]*c[i-1];
}
for(i=2;i<=n;i++)
{
d[i]-=d[i-1]*a[i];
}
d[n]/=b[n];
for(i=n-1;i>=1;i--)
{
d[i]=(d[i]-c[i]*d[i+1])/b[i];
}
}
void main()
{
double a[10],b[10],c[10],d[10];
cin >>a[i];
cout <<"输入最后一列: ";
for(i=1;i<=n;i++)
cin >>d[i];
zhuigan(n,a,b,c,d);
cout <<"方程组的解为: "<<endl;
for(i=1;i<=n;i++)
cout <<d[i]<<endl;
}wenku.baidu.com
int n=3;
cout <<"输入主对角线元素: ";
int i;
for(i=1;i<=n;i++)
cin >>b[i];
cout <<"输入上方的次对角线元素: ";
for(i=1;i<n;i++)
cin >>c[i];
cout <<"输入下方的次对角线元素: ";
for(i=2;i<=n;i++)
#include <iostrea>
#include <cmath>
using namespace std;
void zhuigan(int n,double a[],double b[],double c[],double d[])
{
int i;
for(i=2;i<=n;i++)
{
a[i]/=b[i-1];
b[i]-=a[i]*c[i-1];
}
for(i=2;i<=n;i++)
{
d[i]-=d[i-1]*a[i];
}
d[n]/=b[n];
for(i=n-1;i>=1;i--)
{
d[i]=(d[i]-c[i]*d[i+1])/b[i];
}
}
void main()
{
double a[10],b[10],c[10],d[10];
cin >>a[i];
cout <<"输入最后一列: ";
for(i=1;i<=n;i++)
cin >>d[i];
zhuigan(n,a,b,c,d);
cout <<"方程组的解为: "<<endl;
for(i=1;i<=n;i++)
cout <<d[i]<<endl;
}wenku.baidu.com
int n=3;
cout <<"输入主对角线元素: ";
int i;
for(i=1;i<=n;i++)
cin >>b[i];
cout <<"输入上方的次对角线元素: ";
for(i=1;i<n;i++)
cin >>c[i];
cout <<"输入下方的次对角线元素: ";
for(i=2;i<=n;i++)