如何用Matlab画出以下这个方程 (x^2 + (9⼀4)*y^2 + z^2 - 1)^3 - x^2*z^3 - (9⼀80)y^2*z^3 = 0

2024-11-26 06:06:05
推荐回答(2个)
回答(1):

这就是一个高次的三元方程, 在空间上对应平面图形

要画出来需要点技巧, 先解出函数表达式来, 再画.

命令如下:

Y=solve('(x^2 + (9/4)*y^2 + z^2 - 1)^3 - x^2*z^3 - (9/80)*y^2*z^3 = 0','y')

ezmesh(Y(1),200);

hold on

ezmesh(Y(2),200)

axis auto

axis equal

还有几个解应该是复空间里面的, 画不出来图形.

回答(2):

x=-2:0.03:2;y=-1:0.01:1;z=-1:0.01:1.5;

[x,y,z]=meshgrid(x,y,z);

f=(x.^2+(9/4)*y.^2+z.^2-1).^3-x.^2.*z.^3-(9/80)*y.^2.*z.^3;

p=patch(isosurface(x,y,z,f,0));

set(p,'Facecolor','r','EdgeColor','none');

daspect([1 1 1]);

view(3);

axis off

camlight;