/*----------------------------------------*/ /* ヤコビの反復法 */ /*----------------------------------------*/ #include #include #define n 3 /* 連立1次方程式の未知数の数 */ #define max_it 1000 /* 最大計算回数        */ #define eps 1.0e-6 /* 誤差の閾値 */ int main(void) { int i,j,k,ii,num; double error,aa; double matrix_a[n][n]={{3.0,-1.0,2.0},{1.0,5.0,-4.0},{1.0,-4.0,7.0}}; double vector_b[n]={6.0,8.0,2.0}; double vector_x[n],vector_x_tmp[n]; num=0; /* 繰り返し回数初期化 */ for(i=0; i< n ; i++){ vector_x[i]=0.0; /* 解初期化 */ }; for(i=0; i < max_it; i++){ /* i < max_it である限りループ */ num+=1; error=0; /* numを1増やし、errorを初期化 */ for(ii=0; ii < n; ii++){ vector_x_tmp[ii]=vector_x[ii]; /* vector_x_tmpにvector_xを代入 */ }; for(j=0; j < n; j++){ aa=vector_b[j]; /* aaに vector_b[j] を代入 */ for(k=0; k