たとえばX1 = 30 x2 =45 x3=10
などの値を事前にx10まで任意に決めておいたとして
これに対応する数式
Xn=F(xn-1) のF(x)を求めてくれる ツールやアルゴリズムは無いですか?
X(n)とX(n+1)を組にして
X1 X2
X2 X3
X3 X4
...
X9 X10
のように9組のデータを作り、これをXY平面にプロットすると関数F(X)の形が見えるはずです。まずはそれで関数形に当たりをつけます。
このとき例えば二次関数で行けそうだ、となったら以下のような方法で二次関数の係数を求められます。
http://atiboh.sub.jp/t09takoushiki2.html
全部のデータが曲線に乗ればそれで終了です。そうでない場合、関数の次数を増やすとか指数関数を試すとかして繰り返すことになります。
原理的には9組のデータの場合8次多項式を使えば必ず全部の点が関数に乗るものを作れます。
Excelで回帰分析ができます。
x | x^2 | y |
---|---|---|
1 | =$A2^2 | 30 |
2 | =$A3^2 | 45 |
3 | =$A4^2 | 10 |
このようにシートを作ります。
ここで、ツール→分析ツール→回帰分析を選びます。
(ツールに「分析ツール」がない時は、ツール→アドインで「分析ツール」を追加します。)
入力X範囲に$C2:$C4、入力Y範囲に$A$2:$B$4と入力し、OKを押します。
すると、別のシートにいろいろ表示されますが、大事なのはB列の係数というところです。
この例ですと、切片 = -35、X値1 = 90, X値2 = -25となります。
そこで、最初に入力したシートの下の行に、
x | x^2 | y |
---|---|---|
1 | =$A2^2 | 30 |
2 | =$A3^2 | 45 |
3 | =$A4^2 | 10 |
4 | =$A5^2 | =(-35)+$A5*(90)+$B5*(-25) |
と入力すると、x = 4のとき、y = -75という値が求められます。
http://www.google.co.jp/url?sa=t&source=web&cd=4&ved=0CCwQFjAD&u...
試してみます。ありがとうございます。
オンライン数列データベースというものがあります
http://www.research.att.com/~njas/sequences/Seis.html
任意の数値を入力すると該当する数列を入力するURLです。
http://www.research.att.com/~njas/sequences/index.html
例えば、35,40,10を含む数列は、「A163934」です。初項3項目ではありません。
一般に、初項を何項目与えたとしても数列は一意的に決定できません(これってクリプキの事例ですね。)
この場合、10項目が9次の多項式であるという前提を置くなどして解をだすしかないでしょう。
Xn=A9*n^9+A8*n^8+A7*n^7+....+A3*n^3+A2*n^2+A1*n^1+A0
と数列の関数型を仮定して、n=1から10までを代入して出来るA9からA0についての10元連立一次方程式を
解くわけです。ソフトのライブラリはありますね。
おぉ、ありがとうございます。
二次関数にはならなさそうです。