Big Bug Ban

兴趣 践行 创新

数值分析–4–高斯消元法(2)

 

 /**
+———————————————————-
计算矩阵普通算法

+———————————————————-
@access public
+———————————————————-
@return void
+———————————————————-
*/

void cout_n() {

double x_muti;
//下列减法
double down_total=0;
//
上列加法
double up_total=0;

int r;

int s;

//下列算法
for (int 0this->colsj++) {

x_muti=1;

r=j;
//遍历行
for (int 0this->rowsi++) {

if(++r<=this->cols){
s=r;
}
else{
s=rthis->cols;
}
//cout<<"i:"<<i<<"s:"<<s<<endl;
//
对角相乘
x_muti=x_muti*this->DIAGRAM[i][s1];

}

down_total += x_muti;

}
int d;

//上列算法
for (int 0this->colsj++) {

x_muti=1;

r=j1;
//遍历行
d=this->rows1;

for (int 0this->rowsi++) {

if(++r<this->cols){
s=r;
}
else{
s=rthis->cols;
}
//cout<<"s:"<<s<<"d:"<<d<<endl;
//
对角相乘
x_muti=x_muti*this->DIAGRAM[d–][s];

}

up_total += x_muti;

}

cout<<up_totaldown_total<<endl;
}
/**
+———————————————————-
计算矩阵高斯消元法
+———————————————————-
@access public
+———————————————————-
@return void
+———————————————————-
*/

void cout_z(){

for(int 0this->colsj++){

int r=j+1;

for(int g=r;g<this->rows;g++)
{
double xn=this->DIAGRAM[g][j]/this->DIAGRAM[j][j];

cout<<"xn:"<<xn<<endl;

for(int 0this->colss++){

this->DIAGRAM[g][s]=this->DIAGRAM[j][s]-this->DIAGRAM[g][s]/xn;
cout<<"xn:"<<(double)this->DIAGRAM[g][s]<<endl;
}
this->print_g();
}

}

}
};

}

#endif

Written by princehaku

10月 15th, 2009 at 10:25 上午

Posted in c/c++

without comments

Leave a Reply