matlab的三维绘图,方程为x^2-y^2-4*(z^2)=4,只知道画出来是个双叶双曲面。

[x,y]=meshgrid(-10:0.1:10);z=sqrt((x.^2)/4-(y.^2)/4-1);surf(x,y,z)结果显示的是错误使用surf(line... [x,y]=meshgrid(-10:0.1:10);
z=sqrt((x.^2)/4-(y.^2)/4-1);
surf(x,y,z)
结果显示的是错误使用 surf (line 78)
X、Y、Z 和 C 不能是复数
如果不用mesh或surf,那应该用哪一个?
展开
闲庭信步mI5GA
2014-04-27 · TA获得超过9093个赞
知道大有可为答主
回答量:2979
采纳率:87%
帮助的人:1438万
展开全部
可用ezsurf绘制

ezsurf('2*sec(u)','2*tan(u)*cos(v)','tan(u)sin(v)',[-pi/2,3*pi/2,0,2*pi])

axis auto

即将
x^2-y^2-4*(z^2)=4
转化为参数方程,用三维符号法做图。

也可以写成
u=[-pi/2:pi/60:3*pi/2];v=[0:pi/60:2*pi];
[U,V]=meshgrid(u,v);
X=2*tan(U)
Y=2*tan(U).*cos(V);
>>Z=tan(U).*sin(V);
>>surf(X,Y,Z);
>>axis equal;
更多追问追答
追问
数学太渣,不会转化。。。。
那4*x^2+y^2-z^2=4怎么写命令啊?
追答
我已经给你转化好了。哦,下面这个是单叶的,转化后是
ezsurf('sec(u)*cos(v)','2*sec(u)*sin(v)','2*tan(u)', [-pi/2,pi/2,0,2*pi]);
zhengshizhu
2014-04-27 · TA获得超过242个赞
知道小有建树答主
回答量:165
采纳率:100%
帮助的人:54.2万
展开全部
你这个大概就是z中算出复数了,要是只画实数情况时,可以用surf(x,y,real(z))
追问

试了一下,成功了一半




但老师要求的成品要完整,那怎么做到这样呢?

追答
再画一个下半叶,就是hold on;   然后surf(x,y,-real(z))
或者,定义y,z,画x=(y.^2+4*z.^2+4).^0.5;
surf(y,z,x); hold on; surf(y,z,-x);,这就不用担心复数的问题了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式