トップページ > プログラム > 2015年12月25日 > H3s+gts8

書き込み順位&時間帯一覧

14 位/194 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000020000200004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
くだすれFORTRAN(超初心者用)その6

書き込みレス一覧

くだすれFORTRAN(超初心者用)その6
857 :デフォルトの名無しさん[sage]:2015/12/25(金) 14:17:27.29 ID:H3s+gts8
今二分法のプログラム書いているんだけど、うまく収束しなくて困ってるのでここで質問させてください

ある区間[a, b] の間に解があるとして、f(xsol) =0となる点を見つけようとしてます。

関数f(x) は数値計算によってしか求められない(xの多項式では記述できない)とします。

x -> xsol に近づいていると思うのですがどうしても0 に漸近しません。 収束条件は 10^{-1}程度の荒いものでも収束しません。

考えられる原因の1つとして情報桁落ちかな?と思いましたが回避する方法はあるでしょうか?

ある程度計算を進めると、区間[x1, x2]において、その中点 (x1+x2)/2の値が一定となってしまいます。
くだすれFORTRAN(超初心者用)その6
858 :デフォルトの名無しさん[sage]:2015/12/25(金) 14:24:09.90 ID:H3s+gts8
>>857
後出しで申し訳有りません。

変数は全て倍精度で設定しております。
くだすれFORTRAN(超初心者用)その6
861 :デフォルトの名無しさん[sage]:2015/12/25(金) 19:21:54.92 ID:H3s+gts8
>>859
今4倍精度に宣言して計算終わったところです!
一定になるところは変わりましたが、計算を進めるとやはり中点が一定になります。。。
くだすれFORTRAN(超初心者用)その6
862 :デフォルトの名無しさん[sage]:2015/12/25(金) 19:22:26.63 ID:H3s+gts8
>>861
すみません、16倍精度の間違えです


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。