求助!!!怎样用Matlab画二次曲面:(x^2+y^2+z^2)^2=a^2(x^2+y^2-z^2)(a>0) ??感谢你的回答!!!
1个回答
展开全部
[x,y,z]=meshgrid(-25:25,-25:25,-25:25);
for a=1:10;%a取1到10的整数
pause(0.5)
v=((x.^2+y.^2+z.^2).^2-a.^2.*(x.^2+y.^2-z.^2));
[d,m]=isosurface(x,y,z,v,0);
patch('faces',d,'vertices',m,'facevertexcData',jet(length(m)),'facecolor','k','edgecolor','flat');
view(3);axis equal;grid on;
% colorbar
title('(x^2+y^2+z^2)^2=a^2(x^2+y^2-z^2)');
xlabel('X'),ylabel('Y'),zlabel('Z');
hold on
end
hold off
这个程序是画图是动态的,你也可以去掉循环,给定a的值画图。下面是a=10;的图像。不过不是双曲面,因为右边没有平方。
如果有平方则,a=1到10的图如下:是双曲面
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询