Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 10全般 : Excel 2019)
自動で補間する方法が知りたい
投稿日時: 23/05/10 16:00:34
投稿者: blueham555

横軸が1-7,縦軸が1-17の記入できるセルが119マスある表があります。
その119マスには1-8までのランダムな数字が入っています。
その119マスは1時間おきに1度1−8までの違う数字に変わります。
しかしその119マスのうち適当な場所5か所が空白とします。
その5か所を次の3つの補間方法のどれかを用いて、
更新されたときに空白にならないようにするコードが知りたいです。
 
1.ラグランジュ補間
2.ニュートン補間
3.スプライン補間
 
次の段階として保管され119マスすべてに数値が入っている状態の表を用いて、
3D等高線のグラフを作ろうと思っています。

回答
投稿日時: 23/05/10 18:15:38
投稿者: simple

背景のようなものをもう少し説明されたほうがよいと思います。
 
各格子点での値は1〜8の全くランダムな整数なんですか?
隣り合った格子点での値は離れたところでの値よりも、連続しているとかいう関係もなく
全くランダムなんですか?
それなら、周囲の8つの格子(ノイマン近傍。そこも空白なら除外)の期待値に最も近い整数とすれば
いいんじゃないですか?
場合によっては、より広い点での値の期待値とか、
近さで重みをつけた期待値とか色々考え方はあるかも知れません。
(格子点上の値の決まり方になんらかの法則性があるなら、その説明がないとわかりません。)
 
こうした質問は、こういう計算方法を行いたい、ついてはどのように実装したらいいか、
というのが普通です。そのあたり補足されたらいかがですか?

回答
投稿日時: 23/05/11 06:33:16
投稿者: simple

[1,8]の間の数値(整数ではない)が、119-5個の格子点のうえで定義されているわけですね。
書き方が離散的なようになっていて、しかも"ランダム"とあるので、
まるで 1 + 7 * Rnd() のようにランダムな値かというとそんなわけはないわけです。
それじゃ等高線を書いてもギザギザで意味がないわけです。
 
なんらかの想定される2変数関数があり、その観測値が与えられるわけですね。
その値から、一定形式の条件を与えて一番フィットする関数を決めたいと。
そのうえで、5個のmissing pointでの値を算定したい、ということなんでしょう。
 
こういうのは、scipyかなんかのパッケージを探したほうが早いと思います。
VBAだから簡単に理解できそうだという淡い期待があるのでしょうけど、
それはアプローチとして間違っています。
餅は餅屋で、科学計算用の道具を使うべきです。
いずれにしても、VBAの質問ではないですよ。

トピックに返信