2021-10-09

matlab三维曲线绘制

% plot3函数的基本用法
% plot3(x,y,z)
% 其中,参数x、y、z组成-组曲线的坐标。
% x=[0.2,1.8,2.5];
% y=[1.3,2.8,1.1];
% z=[0.4,1.2,1.6];
% plot3(x,y,z)
% grid on
% axis([0,3,1,3,0,2]);
在这里插入图片描述

% plot3(x,y,z)
% 参数x、y、z是同型矩阵。以列向量进行读取,有多少列就有多少曲线
% 参数x、y、z中有向量,也有矩阵。
% 含多组输入参数的plot3函数
% plot3(x1, y1,z1,x2, y2,z2,…,xn, yn, zn)
% 每一组x、y、z向量构成一组数据点的坐标,绘制一条曲线。

% fplot3(funx, funy, funz, tlims,选项)
% 其中,funx、funy、funz代表定义曲线x、y、z坐标的函数,通常采用函数句柄的形式。tlims为参数函数自变量的取值范围,用二元向量[tmin,tmax]描述﹐默认为[-5,5],选项为颜色线型等。
%例子绘制墨西哥帽顶函数
在这里插入图片描述

% xt=@(t)exp(-t/10).sin(5t);
% yt=@(t)exp(-t/10).cos(5t);
% zt=@(t)t;
% fplot3(xt,yt,zt,[-12,12])
在这里插入图片描述

%绘制三维曲面步骤
% 1.平面网格数据的生成
% 2.绘制三维曲面的mesh函数和surf函数
% 3.fmesh永数和fsurf函数
%利用矩阵运算生成平面网格数据
% x=2:6;
% y=(3:8)’;
% X=ones(size(y))x;
% Y=y
ones(size(x));
%也可以利用函数生成平面网格数据
% 利用meshgrid函数生成[X,Y]=meshgrid(x, y);
% 其中,参数x、y为向量,存储网格点坐标的X、Y为矩阵。
% x=2:6;
% y=(3:8)’;
% [X,Y]=meshgrid(x,y);
%例子 绘制空间曲线
% x=2:6;
% y=(3:8)’;
% [X,Y]=meshgrid(x,y);
% Z=randn(size(X));
% plot3(X,Y,Z);
% grid on;
在这里插入图片描述

%绘制三维曲线的函数mesh(x, y,z,c)绘制三维网格曲线 surf(x,y,z,c)绘制三维曲面,c指定颜色,没有c默认高度越高颜色越深。
%例子
% t=-2:0.2:2;
% [X,Y]=meshgrid(t);
% Z=X.*exp(-X.2-Y.2);
% subplot(1,3,1)
% mesh(X,Y,Z);
% subplot(1,3,2)
% surf(X,Y,Z);
% subplot(1,3,3)
% plot3(X,Y,Z);
% grid on
在这里插入图片描述

% mesh函数和surf函数的其他调用格式:
% mesh(z, c)
% surf(z, c)
% 当x、y省略时,z矩阵的第2维下标当作x轴坐标,z矩阵的第1维下标当作y轴坐标。
% t=1:5;
% z=[0.5t;2t;3*t];%z的第一列为y轴,第二列为x轴,第三列为z轴
% mesh(z);
在这里插入图片描述

% 带等高线的三维网格曲面函数meshc
% 带底座的三维网格曲面函数meshz
% 具有等高线的曲面函数surfc
% 具有光照效果的曲面函数surfl
%例子
% [x,y]=meshgrid(0:0.1:2,1:0.1:3);
% z=(x-1).2+(y-2).2-1;
% subplot(2,2,1);
% meshc(x,y,z);title(‘meshc(x,y,z)’)
% subplot(2,2,2);
% meshz(x,y,z);title(‘meshz(x,y,z)’)
% subplot(2,2,3);
% surfc(x,y,z);title(‘surfc(x,y,z)’)
% subplot(2,2,4);
% surfl(x,y,z);title(‘surfl(x,y,z)’)
在这里插入图片描述

% 绘制标准三维曲面
% sphere函数
% [x, y,z]=sphere(n) n表示曲面圆滑程度,n默认20
% cylinder数
% [x, y,z]=cylinder(R, n)圆柱半径,也就是函数,n默认20,即同一直径下点的个数,越多越光滑
% 例子 用cylinder函数分别绘制柱面、花瓶和圆锥面
% subplot(1,3,1);
% [x,y,z]=cylinder;
% surf(x,y,z);没有此命令无法绘制曲面
% subplot(1,3,2);
% t=linspace(0.2*pi,40);
% [x,y,z]=cylinder(cos(t)+2,30);
% surf(x,y,z);
% subplot(1,3,3);
% [x,y,z]=cylinder(0:0.2:2,30);
% surf(x,y,z);
在这里插入图片描述

% peaks函数的调用格式:绘制多峰函数
% peaks(n)生成n阶方阵
% peaks(V)V为向量
% peaks(x, y)x,y表示矩阵
% peaks默认为生成49阶的多峰函数

% fsurf(funx, funy, funz, uvlims)多用来绘制参数方程
% fmesh(funx, funy, funz, uvlims)
% 其中,funx、funy、funz代表定义曲面x、y、z坐标的函数,通常采用函数句柄的形式。uvlims为funx、funy和funz的自变量的取值范围,用4元向量[umin, umax, vmin, vmax]描述﹐默认为[-5,5,-5,5]。
% 例子 绘制螺旋曲面
在这里插入图片描述

% funx=@(u,v)u.*sin(v);
% funy=@(u,v)-u.*cos(v);
% funz=@(u,v)v;
% fsurf(funx,funy,funz,[-5,5,-5,-2])%绘制上半部曲线
% hold on
% fmesh(funx,funy,funz,[-5,5,-2,2])
% hold off
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值