求助!!!怎样用Matlab画二次曲面:(x^2+y^2+z^2)^2=a^2(x^2+y^2-z^2)(a>0) ??感谢你的回答!!!

 我来答
showtime_97
2014-05-21 · TA获得超过4784个赞
知道大有可为答主
回答量:1005
采纳率:90%
帮助的人:836万
展开全部

[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的图如下:是双曲面

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式