matlab应用——求极限,求导,求积分,解方程,函数绘图,三维图像....更多内容尽在个人专栏:matlab学习
上一节我们说了说三维曲线的绘制,这一节我们趁热打铁,说一说三维曲面
meshgrid函数:
建造三维曲面之前,我们先来了解一下meshgrid函数
meshgrid函数用来生成二维方格矩阵,作为第三维变量z的因变量
调用格式:[x,y]=meshgrid[t,s]
其中t是行矩阵,s是列矩阵,分别用来存储x,y的范围和精度
我们来看一个例子:
x=2:1:6;
y=(3:1:8)';
[X,Y]=meshgrid(x,y);
plot(X,Y)
hold on;
plot(X',Y');
title('生成坐标矩阵')
效果如图:
生成的矩阵就是这个样子
mesh函数与surf函数:
这两个函数都是用来生成三维曲面,具体的差异我们等下看图了解
mesh函数和surf函数的调用格式和plot3函数很相似:
mesh(x,y,z)
surf(x,y,z)
其中x,y,z构成三维坐标(x,y,z)
直接上个完整代码:
t=-2:0.1:2;
s=-1:0.1:3
[x,y]=meshgrid(t,s);
z=x.*exp(-x.^2-y.^2);
subplot(1,3,1);
plot3(x,y,z);
title('三维曲线');
subplot(1,3,2);
mesh(x,y,z);
title('mesh');
subplot(1,3,3);
surf(x,y,z);
title('surf');
效果就是这样:
fsurf,fmesh函数:
这两个函数就是用来绘制参数方程定义的三维曲面,和fplot3函数很像,需要用到函数句柄
调用格式:fsurf(x,y,z,[umin,umax,vmin,vmax]);
上一节我们绘制了三维的螺旋线,这一节我们再绘制一个螺旋面,大家可以对比一下看看
完整代码:
x=@(u,v) u*sin(v);
y=@(u,v) -u*cos(v);
z=@(u,v) v;
fsurf(x,y,z,[-5,5,-2,2]);
grid on;
title('螺旋曲面');
xlabel('x=usinv');
ylabel('y=-ucosv');
zlabel('z=v');
效果如图:
这一节我们主要说了说怎么用matlab绘制三维曲面图,下一节我们进入一个新的环节,运用matlab进行一些数据的处理。
欢迎喜欢的朋友点赞关注收藏啊:)