• 締切済み

偏微分方程式の数値解法

ラプラス方程式の境界値問題を、javaで作ったプログラムを用いて有限差分法で解きました。 真値との誤差も少なく、おそらくプログラムに間違いはないと思います。 しかし、分割幅を小さくした時に、同じ格子点同士だったら真値との誤差は小さくなるはずなのに、分割幅を5→10→20→40と変えていった時に、何故か20と40では40の方が誤差が広がってしまいます。 分割幅が小さいほうが誤差が大きくなる時があるのでしょうか?

みんなの回答

  • spring135
  • ベストアンサー率44% (1487/3332)
回答No.2

>分割幅が小さいほうが誤差が大きくなる時があるのでしょうか 条件が正しい場合、一般論としてこのようなことはありません。 分割を小さくしすると誤差は小さくなっていきます。ただし、ある分割数以上では大きくなることがあります。これは分割をかなり小さくしすぎた場合で、5→10→20→40程度ではおきません。 そこで確認事項ですが、 1)真値と言っているのは解析解ですか。 2)境界条件の処理は正しく行っていますか。 3)単精度では心もとないところがあるので、倍精度を使っていますか。 4)分割数をさらに増やしていくとどうなりますか

noname#185706
noname#185706
回答No.1

その種の計算をしたことがないのでよくわかりませんが、 分割数が大きい場合、桁落ちや情報落ちの影響が表面化する可能性はないのでしょうか? できれば単精度計算と倍精度計算の結果を比べてみるとヒントになるかもしれませんね。

関連するQ&A