我在Matlab上没有很多经验。我知道您可以绘制带有2个变量的方程式,如下所示:
ezplot(f1) hold on ezplot(f2) hold off; 您将如何绘制具有
三个符号变量的三个方程式?
一个示例系统是:
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对其进行ezsurf 。这是使用上面的第一个方程式的方法:
func1 = @(x, y) sqrt(1-x.^2-y.^2); ezsurf(func1); 这应该显示球体的上半部分。
要一起显示所有三个方程,可以执行以下操作:
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]); 结果图将如下所示:
通过旋转绘图,您会发现所有三个表面相交处似乎有两个点,从而为方程组提供了两种解决方案。
更多&回答...