怎么用matlab画x^2+4y+z^2=4这个二次曲面

我自己用surf(xyz)画 总是提示我不能算复数,应该是有虚部出现,请问有其他办法画出整个图像吗?

试试这个,理论上可行

r = 4-X^2-Z^2
Y = r/4 
mesh(XYZ)

你好,这个直接用isosurface画:

x = linspace(-10,10,41);
y = linspace(-10,10,41);
z = linspace(-10,10,41);
[x,y,z] = meshgrid(x,y,z);
v = x.^2+4*y+z.^2;
isosurface(x,y,z,v,4)
axis equal
xlabel('x');ylabel('y');zlabel('z')

img

当然,你可以用y提取出来画,因为你这个是抛物面,所以提出y来画是可以的

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

img