- 締切済み
横に凸な曲線について
曲線近似のプログラムを組もうとしているのですが、一つ質問したいことがあります。 例えば、(0, 0) 、(2, 2)、(0, 4)の点群があったとします。 このとき、これらの点群から曲線に近似することは可能でしょうか? 可能であれば、ご教授願えないでしょうか。 #また、参考にできるサイトや資料があれば、教えていただけると幸いです。 上の質問文だと、うまく伝わりにくいと思うので、より砕いた説明をしますと、 y=ax^2 の曲線のときに a>0 のとき放物線は上に開いています。このとき,下に凸と呼びます。 a<0 のとき放物線は下に開いています。このとき,上に凸と呼ぶため、 仮に、(0, 0) 、(2, 2)、(0, 4)の点群があれば右に凸の曲線を求める手法を探しています。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- info22_
- ベストアンサー率67% (2650/3922)
点列を全て通る曲線なら曲線補間、点列を通らなくても滑らかな曲線(直線)で近似することを曲線近似というかと思います。 お書きの例だと 曲線補間なら 放物線補間:x=ay^2+by+c 3点を通る条件から3,b,cの連立方程式を立て解けばa,b,cが決定できる。 → x=-(1/2)y^2+2y=-y(y-4)/2 正弦波による補間:x=asin(by+c) →x=2sin(πy/2) 円による補間 補間曲線を円(x-a)^2+(y-b)^2=r^2とした場合 3点を通る条件から3,b,cの連立方程式を立て解けばa,b,cが決定できる。 → x^2+(y-2)^2=2^2 or x=√(4y-y^2) 一般的には与えられた通過点数と同じ未知定数を含んだ曲線関数はいろいろあるので、曲線補間の目的に合う適当な補間曲線を選べばいいですね。 他に通過点が多い場合の3次関数x=f_k(y)によるスプライン曲線補間法 「http://ja.wikipedia.org/wiki/スプライン曲線」 など 近似曲線なら 最小二乗法なら直線近似(指定点を通過しないが滑らかな曲線で近似できる) x=ay+bとおいて最小二乗法を適用する。 その他の曲線関数による最小二乗法による関数近似法 フィッティング 「http://ja.wikipedia.org/wiki/曲線あてはめ」 「http://hp.vector.co.jp/authors/VA052342/」 分数関数x=f(y)によるPade近似 「http://www.finetune.jp/~lyuka/technote/fract/pade.html」 など
- hashioogi
- ベストアンサー率25% (102/404)
早い話がX軸とY軸を交換して考えればいいだけの話ではないの?
とりあえずその例ならば、放物線(y-2)^2=4-2xはそれら3点を通ります。 質問の仕方として、例を1つ示すのでなくて抽象的な条件を提示してくれた方が答えやすいと思います。