Постройте поверхность в MATLAB - PullRequest
1 голос
/ 02 марта 2020

Я хочу построить поверхность в 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. Я знаю, что есть комплексное число из-за значений, которые x и y имеют плюс квадрат root. Есть ли другой способ построить поверхность в MATLAB? потому что я действительно не знаю, что делать, и мои навыки очень важны.

1 Ответ

0 голосов
/ 02 марта 2020

Почему вы чувствуете, что вам нужно использовать сетку x и y, а не использовать форму самого исходного уравнения?

Кажется, это прекрасно работает

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

для производства

enter image description here

...