MATLABで3つのシンボリック変数を持つ3次方程式の非線形システムをプロットするには?

StackOverflow https://stackoverflow.com/questions/925555

  •  06-09-2019
  •  | 
  •  

質問

私は、MATLABに多くの経験を持っていません。私はあなたがこのような2つの変数を持つ方程式をプロットすることができることを知っています:

ezplot(f1)
hold on
ezplot(f2)
hold off;

どのようにしての 3 のシンボリック変数を3つの方程式をプロットするのでしょうか?

システム例は次のようになります。

x^2+y^2+z^2-1=0
2*x^2+y^2-4*z=0
3*x^2-4y+z^2=0

3式の任意のシステムをプロットする方法があった場合、それは理想的である。

役に立ちましたか?

解決

私は ezsurf に何をしたいの近くに来ると信じています。あなたはまず、zのための各方程式を解く、その方程式のための機能を作り、ezsurfでそれをプロットする必要があります。ここでは、上から、あなたの最初の方程式でそれを行う方法は次のとおりです。

func1 = @(x, y) sqrt(1-x.^2-y.^2);
ezsurf(func1);

この球体の上半分を表示する必要があります。

あなたは次の操作を行うことができ、一緒にすべての3つの方程式を表示するには:

func1 = @(x, y) sqrt(1-x.^2-y.^2);
func2 = @(x, y) 0.5.*x.^2+0.25.*y.^2;
func3 = @(x, y) sqrt(4.*y-3.*x.^2);
ezsurf(func1, [-1 1 -1 1]);
hold on;
ezsurf(func2, [-1 1 -1 1]);
ezsurf(func3, [-1 1 -1 1]);
axis([-1 1 -1 1 0 1]);

と結果のプロットは、次のようになります。

" ここに画像の説明を入力する

のプロットを回転させることにより、すべての3つの面はあなたの方程式のシステムのための2つのソリューションを与え、交差する二つの点があるように見えることに気づくだろう。

他のヒント

「にホールド」だけで現在の軸上にある既存のライン&マーカーを消去しないように言います。あなただけ行うことができるはず。

ezplot(f1);
hold on;
ezplot(f2);
ezplot(f3);
hold off;

私は1つのお手伝いをすることはできませんので、ezplot使用したことがありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top