2009-07-15 7 views
5

2変数の暗黙の方程式をプロットするために使用される通常の方法またはアルゴリズムとは何ですか?私は以下のような方程式について話してい暗黙の方程式をプロットする方法

罪(のx * yを)* Yが=

20 X * X - Y Y * = 1

ありませんMapleやMatlabがこれをどうやって行うのか誰にでも分かりますか?私のターゲット言語はC#です。

多くの感謝!

答えて

9

これを行う1つの方法は、通常の2Dグリッドで関数をサンプリングすることです。その後、結果として得られる2Dグリッド上でマーチングするようなアルゴリズムを実行して、等高線を描くことができます。

関連する質問では、誰かがgnuplotのソースコードにリンクしていました。それはかなり複雑ですが、やりがいがあるかもしれません。 http://www.gnuplot.info/

+2

をいただき、ありがとうございます検索するための適切なキーワードを提供します。 この検索(http://www.google.com.sg/search?q=Marching+squares+contours)は、特に興味深いリンクを投げかけました。 – ARV

+0

@ARVこれらの興味深いリンクのどれがあなたの問題を解決しましたか? C#コードを正常に作成できましたか – MySchizoBuddy

5

プロットしたい範囲でxの値を反復します。 xの固定値ごとに、interval bisectionまたはNewton-Raphson methodなどの方法を使用して数式を数値的に解きます(暗黙の微分を使用して導関数を計算するか、数値で区別することができます)。これは与えられたxの対応するyの値を与えます。ほとんどの場合、を正確にとするには、あまりにも多くの反復を必要とせず、とにかく効率的です。

式はf(x) = 0の形式に変換する必要がありますが、これは常に些細なことですが、この方法についての良い点は、他の方法でも同様に機能することです(すなわち、固定範囲のyをとり、値ごとにxを計算する)。

-3

だと思いますが、matlabで

あなたはxの入力として配列を与えます。

各xについて、yを計算する。

そして... X1、X2にY1、Y2

からのラインを描き、その後、X0から

をY1

をX1にY0を線を描画...

関連する問題