{ 2 1 1 }{ X1 } { 2 }
{ 2 3 1 }{ X2 }={ 4 }
{ 1 1 3 }{ X3 } {-1 }
という問題をSOR法を用いてコンピュータ(fortran)で解け。ただし初期値は0とし許容誤差eps=10^-5とする。そこで私は次のようなプログラムで解きました。
____dimension a(20,20),b(20),x(20),x0(20)
____open(5,file='senkei.d')
____open(6,file='senkei.r')
____open(7,file='senkei.k')
____read(5,*)n,max,eps,u
____read(5,*)((a(i,j),i=1,n),j=1,n)
____read(5,*)(b(i),i=1,n)
____read(5,*)(x0(i),i=1,n)
____do i=1,n
____ad=a(i,i)
____a(i,i)=0.0
____b(i)=b(i)/ad
____do j=1,n
____a(i,j)=a(i,j)/ad
____end do
____end do
____do k=1,max
____do i=1,n
____w=0.0
____do j=1,n
____if(j.lt.i)x0(j)=x(j)
____w=w+a(i,j)*x0(j)
____end do
____x(i)=u*(b(i)-w)+(1-u)*x(i)
____write(7,10)x(i)
_10_format(3f10.5)
____end do
____w=0.0
____do i=1,n
____w=w+(x(i)-x0(i))**2
____end do
____w=sqrt(w/n)
____if(w.lt.eps)go to 20
____do i=1,n
____x0(i)=x(i)
____end do
____end do
____write(6,*)'error'
____go to 30
_20_write(6,*)'sulution'
____write(6,40)(x(i),i=1,n)
_40_format(3f15.5)
_30_stop
____end
max:最大繰り返し回数,u:緩和係数,a(i,j):係数行列,
b(i):既知項,x(i):未知項としました。データではeps=0.00001,max=50,緩和係数uは0.8から0.1ずつ増やして1.5までそれぞれ答えを求めました。私のプログラムではu=1.1の時7回で収束しました。しかしu=1.5の時3回で収束したのですが答えはかなりの誤差ありました。許容誤差eps=10^-5としたのになぜ誤差が大きいまま、しかも三回で収束してしまったのかわかりません。誰かわかる方いらっしゃったら教えていただけませんか?長々と申し訳ありません。お願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vba GetAsyncKeyState関数について 1 2023/08/24 12:08
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) ExcelVBAでDo Until loopのネスト、IF文を使って一致する物と一致しない物としたい 11 2022/12/24 17:46
- UNIX・Linux 次の要件を満たすにはどのように修正したらよろしいでしょうか 1 2022/11/24 20:57
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- 英語 一般のyou, we,theyなどの答え方がわかりません。 2 2022/10/29 15:22
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) ExcelVBA No.を自動連番で設定をしながらデータ入力をしたい 2 2022/08/03 18:19
- Excel(エクセル) マクロでテキストファイルを読み込んだ際の最終セルにデータと改行が含まれる問題の改善方法 2 2022/03/25 16:50
- TOEFL・TOEIC・英語検定 'd の特定方法 1 2023/05/17 22:13
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
誤差率 理論値が0の時
-
集積公差について教えて下さい。
-
寄与率の計算式
-
データの相対誤差について
-
回帰直線の傾きと切片の誤差
-
重回帰分析で手持ちデータがま...
-
Bland Altman について詳しい方...
-
プラスマイナス1.5の範囲に...
-
誤差伝播について
-
20人対象のアンケートに統計...
-
【座標の変換】日本測地系から...
-
百分率の統計解析について
-
測定したデータの誤差を計算す...
-
有効数字に注意して計算せよ。 ...
-
勾配の%の求め方について
-
Lnを含む方程式の解法に関して
-
サンプリング数の決定における...
-
重み付き最小二乗法について
-
アップ率の求め方について
-
パーセントの合計と平均について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
集積公差について教えて下さい。
-
プラスマイナス1.5の範囲に...
-
重み付き最小二乗法について
-
誤差率 理論値が0の時
-
実験計画法、L18直交表への割り...
-
最小二乗法の重みづけについて...
-
データの相対誤差について
-
信号対雑音比について
-
【座標の変換】日本測地系から...
-
回帰直線の傾きと切片の誤差
-
百分率の統計解析について
-
計算機で乗数の逆算をするには?
-
Bland Altman について詳しい方...
-
測定したデータの誤差を計算す...
-
有効数字が整数部分の一桁で表...
-
L9直交表の割り付けについて!
-
除算アルゴリズムについて
-
誤差
-
Fold Changeで表すグラフにする...
-
有効数字について教えて下さい...
おすすめ情報