アプリ版:「スタンプのみでお礼する」機能のリリースについて

再度、4点を通る曲線の方程式

ある4点を通る曲線の方程式を作るにはどうしたらいいですか。

4点を通るといたしましたが、3点の場合もあれば、5点以上の場合もあります。
曲線上の点は何点かサンプリングできますが。曲線は(0,0)を通りません。
曲線は弓型でたとえば(300,309),(400,425),(500,516),(600,586)という点をとおります。
3点の方が簡単でしょうか?

また、以前お教え頂いた y= ax^3+ bx^2+ cx+ d
で考える場合、未知数a,b,c,dを簡単に求める方法はありますか。

以上です。ご教授の程お願いいたします。

A 回答 (5件)

#4です。



3次式で表してもあまり意味はないと書いたのは、エクセルでのグラフ表示と同じようにしたいとあったからです。
全く無意味ということではないので、局所的な近似式としてなら問題ないでしょう。
ただし、4点の位置関係によっては予想外の曲線になる場合があります。


>ただ4点を通る3次式の意味が理解できませんでした。
>なぜ、xにx1を代入すれば、y1の係数は1、y2,y3,y4の係数は0なのか。

y=(x-x2)(x-x3)(x-x4)y1/{(x1-x2)(x1-x3)(x1-x4)}
 +(x-x1)(x-x3)(x-x4)y2/{(x2-x1)(x2-x3)(x2-x4)}
 +(x-x1)(x-x2)(x-x4)y3/{(x3-x1)(x3-x2)(x3-x4)}
 +(x-x1)(x-x2)(x-x3)y4/{(x4-x1)(x4-x2)(x4-x3)}

y1,y2,y3,y4の位置を変えて、
y=(x-x2)(x-x3)(x-x4)/{(x1-x2)(x1-x3)(x1-x4)} * y1
 +(x-x1)(x-x3)(x-x4)/{(x2-x1)(x2-x3)(x2-x4)} * y2
 +(x-x1)(x-x2)(x-x4)/{(x3-x1)(x3-x2)(x3-x4)} * y3
 +(x-x1)(x-x2)(x-x3)/{(x4-x1)(x4-x2)(x4-x3)} * y4

xにx1を代入すれば、
y=(x1-x2)(x1-x3)(x1-x4)/{(x1-x2)(x1-x3)(x1-x4)} * y1
 +(x1-x1)(x1-x3)(x1-x4)/{(x2-x1)(x2-x3)(x2-x4)} * y2
 +(x1-x1)(x1-x2)(x1-x4)/{(x3-x1)(x3-x2)(x3-x4)} * y3
 +(x1-x1)(x1-x2)(x1-x3)/{(x4-x1)(x4-x2)(x4-x3)} * y4

y1の係数は、(x1-x2)(x1-x3)(x1-x4)/{(x1-x2)(x1-x3)(x1-x4)}ですが、分母と分子が全く同じなので1です。
y2の係数は、(x1-x1)(x1-x3)(x1-x4)/{(x2-x1)(x2-x3)(x2-x4)}ですが、分子に(x1-x1)が含まれているので、0です。
y3,y4の係数も分子に(x1-x1)が含まれています。

なので、
y = 1 * y1 + 0 * y2 + 0 * y3 + 0 * y4 = y1


>元々の3次式y= ax^3+ bx^2+ cx+ dとの関係はありますか?

「元々の」ということではなくて、両方とも同じ3次式です。単に表現方法を変えているだけです。
    • good
    • 0
この回答へのお礼

nag0720 様
ご回答ありがとうございます。またお礼が遅れて申し訳ございません。
丁寧な説明でとても助かりました。

自分なりの解釈ではきちんとした曲線の式を得るには、回帰曲線や補間をしなければいけないと思いました。

最後に表現方法を変えると
y= ax^3+ bx^2+ cx+ d
上記式と
y=(x-x2)(x-x3)(x-x4)y1/{(x1-x2)(x1-x3)(x1-x4)}
 +(x-x1)(x-x3)(x-x4)y2/{(x2-x1)(x2-x3)(x2-x4)}
 +(x-x1)(x-x2)(x-x4)y3/{(x3-x1)(x3-x2)(x3-x4)}
 +(x-x1)(x-x2)(x-x3)y4/{(x4-x1)(x4-x2)(x4-x3)}
上記式が一緒になるかは理解できていませんが、少し勉強してみます。

もしよろしければ参考になるサイト等教えていただけると助かります。
以上、またご質問するかもしれませんがよろしくお願いいたします。
どうもありがとうございました。

お礼日時:2010/09/21 00:18

#1です。



>エクセルでのグラフ表示を観て曲線になっていたので、その式を知りたいと思いました。

そうなら、3次式で表してもあまり意味はありません。
散布図のグラフなら、#3さんが書いているように回帰式ですし、
オートシェイプの曲線なら、スプライン補間法を使っています。


それはそれとして、
4点を(x1,y1),(x2,y2),(x3,y3),(x4,y4)を通る3次式が、
y=(x-x2)(x-x3)(x-x4)y1/{(x1-x2)(x1-x3)(x1-x4)}
 +(x-x1)(x-x3)(x-x4)y2/{(x2-x1)(x2-x3)(x2-x4)}
 +(x-x1)(x-x2)(x-x4)y3/{(x3-x1)(x3-x2)(x3-x4)}
 +(x-x1)(x-x2)(x-x3)y4/{(x4-x1)(x4-x2)(x4-x3)}
となるのは、
次数が3であるのは見れば分かりますね。
4点を通ることは、
xにx1を代入すれば、y1の係数は1、y2,y3,y4の係数は0です。
つまり、
y=1*y1+0*y2+0*y3+0*y4=y1
x2,x3,x4を代入したときも同様にy2,y3,y4になります。

#1で、展開して整理すればa,b,c,dが求まると書きましたが、
エクセルなどパソコンを使って計算するのなら、わざわざ展開してa,b,c,dを求めなくても、
上記の式をそのまま計算式にすればいいのではないですか。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

3次式で表してもあまり意味はありませんとの事ですが、それは精度に欠けるからですか?
いろいろ調べた結果、与えられた複数の点をすべて通る曲線において,
ある x値に対してその曲線上の y値を求める場合、上記の3次式を解くより
他の方法で求めないといけないということでしょうか。

実際はマイコンのプログラムなので、コードが許す限りシンプルに解きたいと考えています。

また、曲線上の点を求めたかったら、未知数を求めず、そのまま代入が簡単ですね。
どうもありがとうございました。

ただ4点を通る3次式の意味が理解できませんでした。
なぜ、xにx1を代入すれば、y1の係数は1、y2,y3,y4の係数は0なのか。
頭が悪くて申し訳ございません。元々の3次式y= ax^3+ bx^2+ cx+ dとの関係はありますか?
以上、何卒よろしくお願いいたします。

お礼日時:2010/09/17 01:31

>取得データから、プログラムで曲線の方程式を導いて


以前のご質問が分かりませんが、素直にこのように表現なされば、3次式なんぞ回答は無かったと想います。
 このような式を、回帰式と言います。Officeの2003なら分かりやすかったのですが、2007はどこへいったやら。エクセルでできます。3年生の実習でやらせていますので。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。また紛らわしい質問で申し訳ございません。

回帰式の意味がわからず、調べて以下の結論に達しました。
今回の質問は相関関係がある2つの変数のうち、一方の変数から値を予測するための予測式
回帰式(回帰曲線)を求めなければいけない事と
回帰曲線の式はエクセルで求められる?(Office2000やOpenOfficeのCalcでもできますか?
実際はマイコンのプログラムで曲線を導くつもりですが、可能でしょうか?
エクセルでは回帰曲線を作る方法が出力されるのでしょうか。
4点を必ず通る曲線としたときも回帰式になるのでしょうか?

解らないことだらけですみません。よろしくお願い致します。

お礼日時:2010/09/17 01:06

>(300,309),(400,425),(500,516),(600,586)


 数学の問題ならともかく、研究のデータなら、3次式にするなどはしません。解釈が複雑だからです。理化学実験なら、このようなデータ処理は、パソコン使えば簡単なので普通に教えています。理系の3年生くらいで応えられるハズ。
 こんなデータは処理は、学生レベルで普通にやれますが、課題でしょうか。それとも純粋に数学の問題で、3次式にしないといけないのでしょうか。

 
    • good
    • 0
この回答へのお礼

kgu-2様ご回答ありがとうございました。
課題でも、数学の問題でもありません。また必ず3次式にする必要もありません。
取得データから、プログラムで曲線の方程式を導いて、例えばx=350の時や420、689のときのYの値を知りたいと考えています。

ちなみに、解釈が複雑になるとの事ですが、普通ならどうするべきでしょうか。

以上です。何卒よろしくお願いいたします。

お礼日時:2010/09/16 00:05

前の質問でも回答がありましたが、4点を通る曲線といってもいろんな曲線があります。


y=ax^3+bx^2+cx+d
の3次曲線もあるし、
y=ax^2+bxy+cy^2+dx+ey+f
の2次曲線もあります。
2次曲線でも楕円なのか双曲線なのか放物線なのかでも曲線の式が違ってきます。
それ以外にも多くの曲線の式が存在します。

どんな曲線なのかを示さないと、曲線の式を作ることはできません。


>曲線は弓型でたとえば(300,309),(400,425),(500,516),(600,586)という点をとおります。

弓型といっても、上記の3次曲線でも2次曲線でも局所的には弓型は存在します。



>また、以前お教え頂いた y= ax^3+ bx^2+ cx+ d
>で考える場合、未知数a,b,c,dを簡単に求める方法はありますか。

4点を(x1,y1),(x2,y2),(x3,y3),(x4,y4)としたとき、

y=(x-x2)(x-x3)(x-x4)y1/{(x1-x2)(x1-x3)(x1-x4)}
 +(x-x1)(x-x3)(x-x4)y2/{(x2-x1)(x2-x3)(x2-x4)}
 +(x-x1)(x-x2)(x-x4)y3/{(x3-x1)(x3-x2)(x3-x4)}
 +(x-x1)(x-x2)(x-x3)y4/{(x4-x1)(x4-x2)(x4-x3)}

を展開して整理すれば求めるa,b,c,dが出てきます。
    • good
    • 0
この回答へのお礼

nag0720様、ご回答ありがとうございました。

曲線の種類ですが、正直に言いますとよくわかりません。
エクセルでのグラフ表示を観て曲線になっていたので、その式を知りたいと思いました。

未知数a,b,c,dを求める方法を教えて頂きありがとうございます。ただ
4点を(x1,y1),(x2,y2),(x3,y3),(x4,y4)としたときなぜY=の式が下記になるのでしょうか。
y=(x-x2)(x-x3)(x-x4)y1/{(x1-x2)(x1-x3)(x1-x4)}
 +(x-x1)(x-x3)(x-x4)y2/{(x2-x1)(x2-x3)(x2-x4)}
 +(x-x1)(x-x2)(x-x4)y3/{(x3-x1)(x3-x2)(x3-x4)}
 +(x-x1)(x-x2)(x-x3)y4/{(x4-x1)(x4-x2)(x4-x3)}

また、上記を展開、a,b,c,dを求めると、少数桁の多い答えが得られました。こういうものでしょうか。
ちなみに展開したa,b,c,dは下記の通りです。もっと整理する方法がありますか。

a = y1/{(x1-x2)(x1-x3)(x1-x4)}+y2/{(x2-x1)(x2-x3)(x2-x4)}
+y3/{(x3-x1)(x3-x2)(x3-x4)}+y4/{(x4-x1)(x4-x2)(x4-x3)}

b = (-x2-x3-x4)y1/{(x1-x2)(x1-x3)(x1-x4)}+(-x1-x3-x4)y2/{(x2-x1)(x2-x3)(x2-x4)}
+(-x1-x2-x4)y3/{(x3-x1)(x3-x2)(x3-x4)}+(-x1-x2-x3)y4/{(x4-x1)(x4-x2)(x4-x3)}

c = (x2x3+x2x4+x3x4)y1/{(x1-x2)(x1-x3)(x1-x4)}+(x1x3+x1x4+x3x4)y2/{(x2-x1)(x2-x3)(x2-x4)}
+(x1x2+x1x4+x2x4)y3/{(x3-x1)(x3-x2)(x3-x4)}+(x1x2+x1x3+x2x3)y4/{(x4-x1)(x4-x2)(x4-x3)}

d = (-x2x3x4y1)/{(x1-x2)(x1-x3)(x1-x4)}+(-x1x3x4y2)/{(x2-x1)(x2-x3)(x2-x4)}
+(-x1x2x4y3)/{(x3-x1)(x3-x2)(x3-x4)}+(-x1x2x3y4)/{(x4-x1)(x4-x2)(x4-x3)}

なにぶん、知識と理解不足で申し訳ございませんが、ご教授の程お願いいたします。

お礼日時:2010/09/16 00:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このQ&Aを見た人がよく見るQ&A