在MATLAB中绘制曲面

在MATLAB中绘制曲面,matlab,plot,surface,Matlab,Plot,Surface,我想用surf在MATLAB中绘制一个曲面。我有一个等式:x=y^2+4z^2 我现在做的是: [x,y]=meshgrid(-4:1:4,-4:1:4); z=sqrt((x-y.^2)。/4);%基本上我只是在为z清理 冲浪(x,y,z) 但是我得到了一个错误:使用surf X、Y、Z和C的错误不会很复杂。我知道有一个复数,因为x和y的值加上平方根。在MATLAB中还有其他方法绘制曲面吗?因为我真的不知道该做什么,我的技能是非常基础的。为什么你觉得你需要网格化x和y,而不是使用原始方程本身

我想用surf在MATLAB中绘制一个曲面。我有一个等式:
x=y^2+4z^2

我现在做的是:

[x,y]=meshgrid(-4:1:4,-4:1:4);
z=sqrt((x-y.^2)。/4);%基本上我只是在为z清理
冲浪(x,y,z)

但是我得到了一个错误:
使用surf X、Y、Z和C的错误不会很复杂。我知道有一个复数,因为
x
y
的值加上平方根。在MATLAB中还有其他方法绘制曲面吗?因为我真的不知道该做什么,我的技能是非常基础的。

为什么你觉得你需要网格化
x
y
,而不是使用原始方程本身的形式

这似乎工作得很好

[y,z] = meshgrid(-4:.1:4, -4:.1:4);
x = y.^2 + 4*z.^2;
surf(x,y,z)
产生


为什么您觉得需要将
x
y
网格化,而不使用原始方程本身的形式

这似乎工作得很好

[y,z] = meshgrid(-4:.1:4, -4:.1:4);
x = y.^2 + 4*z.^2;
surf(x,y,z)
产生


如果您对
z
的真实部分感兴趣,可以编写
z=real(sqrt(…)
。下面的
surf
命令将毫无问题地执行。关系非常密切:如果您只对
z
的真实部分感兴趣,可以编写
z=real(sqrt(…)
。然后,以下
surf
命令将毫无问题地执行。关系非常密切: