数值分析2.2 追赶法

追赶法比较特殊,比前面的算法实现起来都要简单,唯一要注意的是gamma的坐标从1开始

程序分别用3个数组存放三条对角线

代码如下:

///对于系数矩阵是三对角矩阵的方程组可以用追赶法
#include 
#include 
#include 
using namespace std;
const int MAXN = 1000;
double a[MAXN];
double d[MAXN];
double c[MAXN];
double b[MAXN];
double A[MAXN];
double B[MAXN];
double x[MAXN];
double y[MAXN];
int main()
{
    int n;
    freopen("in.txt","r",stdin);
    while(cin >> n){
        for(int i = 0;i> b[i];
        for(int i = 0;i> a[i];///先输入主对角线
        for(int i = 0;i> c[i];///再输入上对角线---瞎编的名称
        for(int i = 1;i> d[i];///下对角线---瞎编的名称,注意下角标从1开始
        ///Crout分解
        A[0] = a[0];B[0] = c[0]/A[0];
        for(int i = 1;i=0;i--){
            x[i] = y[i] - x[i+1]*B[i];
        }
        ///输出
        /*for(int i = 0;i


你可能感兴趣的:(数值分析,算法实现)