在MATLAB中绘制表面

问题描述 投票:1回答:1

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

我正在做的是以下事情:

[x,y] = meshgrid(-4:.1:4, -4:.1:4);

z = sqrt((x - y.^2)./4);              % Basically I'm just clearing for z

surf(x,y,z)

但是与此同时,我得到了错误:Error using surf X,Y,Z and C cannot be complex。我知道有一个复数,因为xy的值加上平方根。在MATLAB中还有另一种绘制表面的方法吗?因为我真的不知道该怎么办,而且我的技能很基础。

matlab plot surface
1个回答
0
投票

为什么您觉得需要对xy进行网格化,而不使用原始方程式本身的形式?

这似乎工作得很好

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

生产

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.