« ISON(アイソン)彗星の最新の観測記録(8月23日付けMPEC) | トップページ | 内容が古すぎる天文計算の本 »

2013年8月25日 (日)

補間計算で気をつけたいこと(下書き)

私が学生のころは関数値や軌道予測はすべて数表として与えられていました。とうぜん数表にないデータは数表にあるデータから補間して求める必要がありました。アメブロの会員にはあんまりいそうにないですが私と同世代の理工系の方なら丸善の対数表などを懐かしく思い出されることだと思います。

-----

さてそれからしばらくしたら関数電卓が学生にも買える時代がやってきました。

任意の引数に対する関数値が必要もないほどの精度で求まるわけですから対数表(数表)は無用の長物となってどこにあるかも忘れてしまいました。

軌道予測なんかは関数電卓にデータとしてあるわけではありませんが、電卓があれば近似式から計算することも簡単にできるようになりましたし、そして現在ではさらに暦象年表のようなものもWeb化されまし天体の位置を表示してくれるアプリは山のようにあり任意の時刻の天体の位置も(これまた必要とする以上の精度で)求められるようになりました。

こういうことを考えると現在では数表のデータから必要な引数に対する値を求める技術__つまり補間法__が必要になることは実用上あんまりなさそうです。

--------

とは言っても補間がぜんぜん必要なくなったわけではないですし少し考えてみます。

数表は補間計算をすることを前提に作られています。なんらかの補間式を使って正確な値を求めることができる必要があります。

実例で考えてみます。
$池袋駅南口の天文計算

上半分はlog10()についてx=1,2,3,4からベッセル補間式でx=2.2を求める例です。
そして下半分はx=11,12,13,14からx=12.2を求めています。

下の方は完璧で小数点以下6桁目が1違うだけです。一方上の方は悲惨で少数点以下3桁目ですでに値が異なっています。

下の方を見ると第二階差は第一階差より一桁小さく、第三階差は第二階差より一桁小さくなっています。一方上の方を見ると第三階差が第二階差とほとんど変わらないという状況です。
じつは表を拡張していってもこの傾向は変わりません。

補間はふつう多項式近似で行います。
どんな関数でもごく狭い範囲で見れば直線に近くなっています。ちょっと範囲を広くしてもあるいは少々クセの悪い関数でもせいぜい二次式か三次式で表されるはずだということが前提です。
高次の階差が大きいということは二次式や三次式で表しては誤差が大きくなり使えないものになってしまいます。

要するに上半分の方は引数の間隔が広すぎて(しかも関数もたちが悪いので)補間をしても正しい値が得られないような数表になってしまっているわけです。

数表を使って補間するときは階差を見てどういう何次の補間法を使うべきか(あるいは数表を作るときは階差を見て補間に耐える表になっているかどうか)確認する必要があります。

(2013-07-25 14:03:20)

« ISON(アイソン)彗星の最新の観測記録(8月23日付けMPEC) | トップページ | 内容が古すぎる天文計算の本 »

編集用」カテゴリの記事

コメント

この記事へのコメントは終了しました。

フォト

サイト内検索

  • 記事を探されるんでしたらこれがいちばん早くて確実です。私も使ってます (^^;; 検索窓が表示されるのにちょっと時間がかかるのはどうにかしてほしいです。

新着記事

リンク元別アクセス数

  • (アクセス元≒リンク元、原則PCのみ・ドメイン別、サイト内等除く)

人気記事ランキング

  • (原則PCのみ、直近2週間)
無料ブログはココログ