2016-05-29 12 views
0

第2ラグランジュポリゴンを使用して一連のデータ点を補間しようとしています。 がラグランジュ多項式:予期しない補間結果

point1:(5;100) 
point2: (9;17) 
point3: (12;17) 

と式

y=(x-x2)*(x-x3)/(x1-x2)*(x1-x3)*y1+ 
    (x-x1)*(x-x3)/(x2-x1)*(x2-x3)*y2+ 
    (x-x1)*(x-x2)/(x3-x1)*(x3-x2)*y3 

を持つことは、それは一例..です二次関数がデータに適合しない場合がありますことは明らかです。

しかし、なぜ値が驚くほど高いのでしょうかx=7です。 もし私が間違っていないなら、y=1500

上記の式は正しいですか?

+1

例では、2つのポイントは同じx座標を持ちます。これはタイプミスですか? – lisyarus

+0

プログラミングやソフトウェア開発ではなく、[math.se]についての話題なので、この質問を議論の対象外とすることにしました。 – Pang

+0

DATAの補間です。次に時系列を補間する方法を教えてください。紙の上に?確かにそれはプログラミングの質問です。それを数学に当てはめるには抽象的ではありません。 IMO – Jan

答えて

1

答え:要するに

:同じxについては

  1. 、次の2つの異なるyの値を持つことはできません。これは関数の定義に違反します。
  2. 数式に角括弧がありません。 (x-x2)*(x-x3)/(x1-x2)*(x1-x3)ではなく、((x-x2)*(x-x3))/((x1-x2)*(x1-x3))です。
  3. back to 1>、補間式は分母にx3-x2であることに注意してください。値を束縛している場合は、0を割ります。
  4. このような小さなデータセットで補間を行うにはどうすればよいですか?しかし、あなたは二次補間を求めています!

フォローアップ:

1)は、それを固定しました。ちなみに私はxとyの値をすべて入れ替えました。だから、ポイントはフォーマット(y、x)であった。

ああ、ハハ、不思議です。

2)ありがとうございました!ブラケットは近似を改善した。括弧がないことについて:私は受け入れられた答えの式をBest way to find Quadratic Regression Curve in Javaに持っていますが、私はこのルールを理解していません。

これは有名ですが、基本的な補間です。ラグランジュ補間です。その式はWolfram mathworld: Lagrange Interpolating Polynomialで確認できます。私はあなたにウィキペディアのリンクを与えることはありません。なぜなら、これはもっと美しく見えるからです。

あなたが見つけたリンクには、タイプミスが含まれている必要があります。それを修正するための編集を提案しているので、うまくいけばすぐに承認されます。

3)(重要な(4番目の質問に答える))時系列であるため、値を結ぶことは不可能です。

はい、時系列には値がありません。

+0

1)それを修正しました。ちなみに私はxとyの値をすべて入れ替えました。だから、ポイントはフォーマット(y、x)であった。 2)ありがとう!ブラケットは近似を改善した。 3)それはあなたの4番目の質問に答える有意な(より大きい)時系列です。値を結ぶことは不可能です。 – Jan

+0

括弧がないことについて:私はここで受け入れられた答えから数式を得ました:http://stackoverflow.com/questions/2075013/best-way-to-find-quadratic-regression-curve-in-javaしかし、私はコメントできません(<50rep)。(btw:私はこのルールを理解できません..)編集しました – Jan

+0

は拒否されましたか?私は更新された答えを参照しているので、それは受け入れられていない..しかし、私は気にしない:D – Jan

1

の式が正しいはずです。しかし、x = 17のときは、2つの異なるy値があります。トラブルの原因になる可能性があります。anthor xを変更できます。

+0

y値が50までの場合、3番目のポイントは7のy値に影響しないようです.50より大きいy値は、x = 7の値に影響するようです(y_3- = 5 - > y- = 5 )おそらくそれはラグランジェ多項式の性質である2度 – Jan