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

问题描述:

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 78)
X、Y、Z 和 C 不能是复数
如果不用mesh或surf,那应该用哪一个?
1个回答 分类:数学 2014-10-19

问题解答:

我来补答
可用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]);
再问: 不是,这是另一个方程了,虽然差不多。。。
再答: 刚才系数写错了,改好了。
 
 
展开全文阅读
剩余:2000