作业帮 > 综合 > 作业

Matlab里同时显示曲面和曲线在平面上的投影问题

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/09 08:33:02
Matlab里同时显示曲面和曲线在平面上的投影问题
代码如下:
x=linspace(-4,4,400);
y=linspace(-4,4,400);
[x,y]=meshgrid(x,y);
z=0.2*exp(-2*(x).^2-2*y.^2);
surf(x,y,z);
shading interp;
axis equal;
hold on;
t = 0:0.001:2*pi;
x=2*sin(t);
y=2*cos(t);
z=t;
plot3(x,y,z,'r')
画出的图我转到xoy平面上,曲线就会被挡住,如何能同时显示这两个图在xoy上的投影呢?
grid on;
x=linspace(-4, 4, 400);

y=linspace(-4, 4, 400);

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

z=0.2*exp(-2*(x).^2-2*y.^2);

surf(x, y, z); 

shading interp;

axis square

hold on

t = 0:0.001:2*pi;

x=2*sin(t);

y=2*cos(t);

z=t;plot3(x,y,z,'r','linewidth',2)tools->Rotate 3D右键菜单->Go to X-Y View 把axis equal 改成axis square
再问: 这个是什么问题呢?麻烦能详细说明一下。
再答: 两个坐标系的z轴高度不一样,第一个图的z轴只有那么一点高度,这个是由axis equal 和axis square不同而造成的,做俯视图时,第一个图的在z轴方向上超过z轴最大值的那部分图像被截断了,所以只剩下一小段了。