- 締切済み
数値を内挿入するソフトなど
以下のようなデータがあります。 x 0.01, 0.20, 0.25, 0.19, ... y 1.20, 1.80, 1.97, 2.18, ... この調子で100ペアぐらい続きます。 xの値はゼロぐらいから不等間隔ですが上昇し、yはxに関して十分滑らかとなっています。 ここで、このデータをもとにして x 0.0, 0.1, 0.2, 0.3.....という風に0.1間隔で規則正しく増えていく場合、それに対応したyの値をどのように内挿、外挿するかという問題があります。もともとのデータを必ず通過する必要はないと考えます。 スプラインとかいろんな方法があると思います。5次関数で近似して係数を最小自乗法で決めてその関数形に具体的な数値を入れてもいいと思います。その場合紙と鉛筆で式を誘導する必要があると思いますが、簡単に値さえ放り込めばデータが出てくるようなソフトがあると助かります。すなわち、このプロセスは人に依存することはなく、誰かが1つ代表的なものを作っていればそれで済むような定型処理だと思います。 こんな処理に向くソフトは何かあるでしょうか。簡単にできるはずだと思っていましたが、いざ問題に直面するとなかなかすぐに候補が挙がりません。エクセルでも簡単にできるのでしょうか。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- sanori
- ベストアンサー率48% (5664/11798)
>>>ところで、式が出た後でそれに応じたデータの生成もやってくれるでしょうか。 エクセルの基本的な使い方をご存じないようですね。 たとえば、 y = 1.2x^2 + 3.4x + 5.6 という式が出たとしましょう。 そして、x=100 のときの値を求めたければ、 たとえば、セルD2 に 100 と数字を入力。 セルE2 に =1.2*D2^2+3.4*D2+5.6 という式を入力すれば、 E2に求める値が出ます。 また、 セルD2に他のx値を与えれば、直ちにセルE2に新しい値が現れます。 量産したければ、 1. セルE2を‘コピー’。 2. そして、セルE3以下、お好きなところまで、真下方向にマウスドラッグして‘貼り付け’。 すると、セルD3以下にお好きな数字を入れれば、右隣のEなんちゃらに、それぞれ求める値が出現します。
- sanori
- ベストアンサー率48% (5664/11798)
こんばんは。 >>>エクセルでも簡単にできるのでしょうか。 そのとおりです。 ・(xn、yn)の数値表を作り、 ・その数値表全体をマウスドラッグで選択し(黒くし)、 ・メニューの、「挿入」→「グラフ」、 ・グラフの種類は「散布図」を選択。すると、データそのもののグラフができます。 ・そして、「近似曲線の追加」をします。そのとき、何次関数にするかを選べます。すると、近似曲線が出現します。 ・最後に、近似曲線をつついて、近似式を表示させる操作をすると、 求める式が出現します。 なお、 次数の取り方が大きすぎると、曲線の両端が変な曲がり方をするので、 まともな外挿ができなくなりますから注意してください。 以上、ご参考になりましたら幸いです。 <追伸> 昔、そういう機能がなかった頃は、マクロを自作したものです。 いい時代になりましたね。
お礼
回答、有難うございました。いい時代になりました。 ところで、式が出た後でそれに応じたデータの生成もやってくれるでしょうか。ワンタッチぐらいの気安さがあるといいのですが。失敗したらすぐに修正できるような感じですが。 確かにやり方を失敗する(変に高次多項式を用いるとか)とうまくないですが、その部分はユーザの技量とかいわゆる”自己責任”(←当然なので言わずもがな)だと思っています。
お礼
回答有難うございました。 多項式の係数が決まれば、至極当然の帰結として(X,Y)を自由に発生させることはできます。”それがめんどくさいなあ”と感じているのです。 ○データの作成(さすがにこれは必要) ○n次多項式のnを決める(たった1つの数字を与える) ○必要なXの系列の指定 この3点だけ指定したら最終結果のYの系列が求まるはずなのです。多項式の係数を見ながら式を手入力するとか、めんどうだなあと思っているのです。数値を間違ったりするかも知れないですね。フルオートマチックにならないかなと思います。VBAなど使ったらできるかも知れませんが。