3

MATLAB で使用ezplotしたいのですが、プロットしたい関数が多数の項で構成されているため、小さな関数に分割することがあります。少数の用語の例を挙げましょう。これは多数の用語に一般化できます。関数をプロットするには:

y2+xy+xy3+x+1=0

y1=x+1MATLAB で次のように記述します。

x=[0:1:5]
y1=x+1
ezplot('y.^2+x*y+x*y.^3+y1')

しかし、エラーがあります。エラーを修正する方法を教えてください。この機能 (方程式または関数をいくつかの項に分割すること) を使用することは可能ですか?

4

1 に答える 1

10

あなたのエラーは、に置き換えようとしたことが原因x+1ですy1ezplotシンボリック式は 2 つのシンボリック変数のみの関数である必要があります。ただし、 への呼び出しには3 つのシンボリック変数 ( xy、およびy1) がありますezplot

ezplot('y^2+x*y+x*y^3+y1');

元の方程式を使用すると、すべてが正常に機能するはずです。

ezplot('y^2+x*y+x*y^3+x+1');

ここに画像の説明を入力


編集:興味があれば...

3 つの変数を使用して方程式をプロットする場合は、最初にそのうちの 1 つの方程式を解いてから、関数を使用する必要があります(これは、別の SO の質問に対するこの回答ezsurf示されています)。技術的には、定義したとおりの従属変数です ( variable に依存するため)。ただし、次の例では、それが独立変数であると仮定しましょう。方程式:y1x

y^2 + x*y + x*y^3 + y1 = 0

y1以下を取得するために解決されます。

y1 = -y^2 - x*y - x*y^3

次のy1ようにプロットされます。

ezsurf('-y^2-x*y-x*y^3');

ここに画像の説明を入力

于 2009-07-24T18:09:41.547 に答える