ガウスの消去法
をテンプレートにして作成
[
トップ
|
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#ref(ls_gauss_elimination.eq1.gif,nolink,70%)
#ref(ls_gauss_elimination.eq2.gif,nolink,70%)
#ref(ls_gauss_elimination.eq5.gif,nolink,70%)
#ref(ls_gauss_elimination.eq7.gif,nolink,70%)
#ref(ls_gauss_elimination.eq8.gif,nolink,70%)
#ref(ls_gauss_elimination.eq10.gif,nolink,70%)
#ref(ls_gauss_elimination.eq22.gif,nolink,70%)
#ref(ls_gauss_elimination.eq23.gif,nolink,70%)
#ref(ls_gauss_elimination.eq24.gif,nolink,70%)
#ref(ls_gauss_elimination.eq25.gif,nolink,70%)
#code(C){{
for(int k = 0; k < n-1; ++k){
double akk = A[k][k];
for(int i = k+1; i < n; ++i){
double aik = A[i][k];
A[i][j] = A[i][j]-aik*(A[k][j]/akk);
}
}
}
}}
#ref(ls_gauss_elimination.eq28.gif,nolink,70%)
#code(C){{
A[n-1][n] = A[n-1][n]/A[n-1][n-1];
for(int i = n-2; i >= 0; --i){
double ax = 0.0;
for(int j = i+1; j < n; ++j){
ax += A[i][j]*A[j][n];
}
A[i][n] = (A[i][n]-ax)/A[i][i];
}
}}
#code(C){{
/*!
*/
int GaussElimination(vector< vector<double> > &A, int n)
{
for(int k = 0; k < n-1; ++k){
double akk = A[k][k];
for(int i = k+1; i < n; ++i){
double aik = A[i][k];
A[i][j] = A[i][j]-aik*(A[k][j]/akk);
}
}
}
A[n-1][n] = A[n-1][n]/A[n-1][n-1];
for(int i = n-2; i >= 0; --i){
double ax = 0.0;
for(int j = i+1; j < n; ++j){
ax += A[i][j]*A[j][n];
}
A[i][n] = (A[i][n]-ax)/A[i][i];
}
return 1;
}
}}
終了行:
#ref(ls_gauss_elimination.eq1.gif,nolink,70%)
#ref(ls_gauss_elimination.eq2.gif,nolink,70%)
#ref(ls_gauss_elimination.eq5.gif,nolink,70%)
#ref(ls_gauss_elimination.eq7.gif,nolink,70%)
#ref(ls_gauss_elimination.eq8.gif,nolink,70%)
#ref(ls_gauss_elimination.eq10.gif,nolink,70%)
#ref(ls_gauss_elimination.eq22.gif,nolink,70%)
#ref(ls_gauss_elimination.eq23.gif,nolink,70%)
#ref(ls_gauss_elimination.eq24.gif,nolink,70%)
#ref(ls_gauss_elimination.eq25.gif,nolink,70%)
#code(C){{
for(int k = 0; k < n-1; ++k){
double akk = A[k][k];
for(int i = k+1; i < n; ++i){
double aik = A[i][k];
A[i][j] = A[i][j]-aik*(A[k][j]/akk);
}
}
}
}}
#ref(ls_gauss_elimination.eq28.gif,nolink,70%)
#code(C){{
A[n-1][n] = A[n-1][n]/A[n-1][n-1];
for(int i = n-2; i >= 0; --i){
double ax = 0.0;
for(int j = i+1; j < n; ++j){
ax += A[i][j]*A[j][n];
}
A[i][n] = (A[i][n]-ax)/A[i][i];
}
}}
#code(C){{
/*!
*/
int GaussElimination(vector< vector<double> > &A, int n)
{
for(int k = 0; k < n-1; ++k){
double akk = A[k][k];
for(int i = k+1; i < n; ++i){
double aik = A[i][k];
A[i][j] = A[i][j]-aik*(A[k][j]/akk);
}
}
}
A[n-1][n] = A[n-1][n]/A[n-1][n-1];
for(int i = n-2; i >= 0; --i){
double ax = 0.0;
for(int j = i+1; j < n; ++j){
ax += A[i][j]*A[j][n];
}
A[i][n] = (A[i][n]-ax)/A[i][i];
}
return 1;
}
}}
ページ名: