初心者です ガウス・ザイデル法

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
kohaA
記事: 10
登録日時: 10年前

初心者です ガウス・ザイデル法

#1

投稿記事 by kohaA » 10年前

ガウス・ザイデル法で連立一次方程式をときたいのですが
コンパイルできなくて困ってます(すごく初歩的なミスなんですけどどこを間違えているのか見つけられず早1時間…)
そもそもガウス・ザイデル法を書けているのか(;_;)

コード:

#include<stdio.h>
#define n 3

int main()
{
  int i,j,k;
  double a[n+1][n+1],b[n+1],x[n+1],z=0;

  a[1][1]=6;  a[1][2]=5;  a[1][3]=4;  b[1]=8;
  a[2][1]=12; a[2][2]=13; a[2][3]=10; b[2]=16;
  a[3][1]=18; a[3][2]=21; a[3][3]=17; b[3]=27;
  x[1]=0; x[2]=0; x[3]=0;

  for(k=1;k<=300;k++)
    {
      for(i=1;i<=n;i++)
	{
	  for(j=1;j<=n;j++)
	    {
	      if(i!=j)
		{
		  z+=a[i][j]*x[j];
		}
	    }
	  x[i]=(b[i]-z)/a[i][i];
	  printf("%f",x[i]);
	}
    }
  return 0;
}
添付ファイル
04na.png
a.c
(473 バイト) ダウンロード数: 210 回
最後に編集したユーザー kohaA on 2015年6月20日(土) 23:23 [ 編集 1 回目 ]

アバター
みけCAT
記事: 6734
登録日時: 15年前
住所: 千葉県
連絡を取る:

Re: 初心者です ガウス・ザイデル法

#2

投稿記事 by みけCAT » 10年前

kohaA さんが書きました:コンパイルできなくて困ってます(すごく初歩的なミスなんですけどどこを間違えているのか見つけられず早1時間…)
6行目の,nが蛇足です。削除してください。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

kohaA
記事: 10
登録日時: 10年前

Re: 初心者です ガウス・ザイデル法

#3

投稿記事 by kohaA » 10年前

ありがとうございましたコンパイルは出きるようになりました

ガウスザイデル方として式はあっているのでしょうか・・・?

アバター
みけCAT
記事: 6734
登録日時: 15年前
住所: 千葉県
連絡を取る:

Re: 初心者です ガウス・ザイデル法

#4

投稿記事 by みけCAT » 10年前

kohaA さんが書きました:ガウスザイデル方として式はあっているのでしょうか・・・?
各要素の計算の前にzを初期化していないので、間違っていると思います。

ガウス=ザイデル法 - Wikipedia
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

kohaA
記事: 10
登録日時: 10年前

Re: 初心者です ガウス・ザイデル法

#5

投稿記事 by kohaA » 10年前

そうでした!!!ありがとうございまう!

閉鎖

“C言語何でも質問掲示板” へ戻る