Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我在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]); 结果图将如下所示: ![]() 通过旋转绘图,您会发现所有三个表面相交处似乎有两个点,从而为方程组提供了两种解决方案。 更多&回答... |
![]() |
![]() |