MATLAB笔记7:三维曲线plot3和fplot3;三维曲面mesh和surf

发布时间:2025-12-09 20:47:34 浏览次数:4

三维曲线

plot3(x,y,z):绘制三维曲线。例如

t=0:0.1*pi:6*pi;x=cos(t);y=sin(t);z=2*t;plot3(x,y,z);xlabel('X');ylabel('Y');zlabel('Z');grid on;


fplot3(funx,funy,funz,tlims):funx、funy、funz为坐标函数,通常采用句柄;tlims为自变量取值范围,默认为[-5,5]。例如:

>> x=@(t) exp(-t/10).*sin(5*t);>> y=@(t) exp(-t/10).*cos(5*t);>> z=@(t) t;>> fplot3(x,y,z,[-12,12])

三维曲面

利用meshgrid函数生成平面网格数据:[X,Y]=meshgrid(x,y)其中x、y为向量,储存网格点坐标X、Y为矩阵。例如:

>> x=2:6;y=(3:8)';>> [X,Y]=meshgrid(x,y)

结果:
X =

2 3 4 5 62 3 4 5 62 3 4 5 62 3 4 5 62 3 4 5 62 3 4 5 6

Y =

3 3 3 3 34 4 4 4 45 5 5 5 56 6 6 6 67 7 7 7 78 8 8 8 8

绘制三维曲面的函数

  • mesh(x,y,z)函数:三维网格图
  • surf(x,y,z)函数:三维曲面图
  • meshc带有等高线效果
  • meshz带有底座
  • surfc带有等高线
  • surfl带有光照效果
    标准三维曲面
  • [x,y,z]=sphere(n):三维球面,n为圆滑程度
  • [x,y,z]=cylinder(R,n):三维柱面
    例如:
>> [x,y,z]=cylinder(1,50);>> z=[-1*z(2,:);z(2,:)];%将柱底面坐标改为-1>> surf(x,y,z);>> hold on;>> surf(y,z,x)
  • peaks函数:多峰函数
    有两个自变量时fsuf和fmesh函数
  • fsurf(funx,funy,funz,uvlims)
  • fmesh(funx,funy,funz,uvlims)
    例如:
>> x=@(u,v) u.*sin(v);>> y=@(u,v) -u.*cos(v);>> z=@(u,v) v;>> u=-5:0.1:5;v=-5:0.1:2;>> fsurf(x,y,z)
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477