4.5 matlab三维曲面(mesh、fmesh、meshc、meshz、surf、fsurf、surfc、surfl)
1、平面网格数据的生成
(1)利用矩阵运算生成
(2)利用meshgrid函数生成
[X,Y]=meshgrid(x, y);
其中,参数x、y为向量,存储网格点坐标的X、Y为矩阵。
%方法1
x = 2:6; %五个元素的行向量
y = (3:8)'; %六个元素的列向量
X = ones(size(y))*x; %矩阵X的每一行都是向量x,行数等于向量y的元素的个数
Y = y*ones(size(x)); %矩阵Y的每一行都是向量y,列数等于向量的元素的个数%结果
>> X = ones(size(y))*x
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 = y*ones(size(x))
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%方法2
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 6Y =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
例1:绘制空间曲线
x = 2:6;
y = (3:8)';
[X,Y] = meshgrid(x,y);
Z = randn(size(X)); %randn函数生成与X同型的矩阵Z,Z的大小也是6行5列
plot3(X,Y,Z) %图形窗口出现5条折线
xlabel('X')
ylabel('Y')
zlabel('Z')
grid on
legend()
2、绘制三维曲面的函数
mesh(x, y,z,c)
mesh函数用于绘制三维网格图
surf(x, y,z,c)
surf函数用于绘制三维曲面图,各线条之间的补面用颜色填充
一般情况下xyz是同型矩阵,其中,x、y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的曲面颜色。
t = -2:0.2:2;
[X,Y] = meshgrid(t);
Z = X.*exp(-X.^2-Y.^2);subplot(2,2,1)
mesh(X,Y,Z);subplot(2,2,2)
surf(X,Y,Z);subplot(2,1,2)
plot3(X,Y,Z);
grid on
mesh函数和surf函数的其他调用格式:
mesh(z, c)
surf(z, c)
当x、y省略时,z矩阵的第2维下标当作x轴坐标,z矩阵的第1维下标当作y轴坐标。
t = 1:10;
z = [0.5*t;2*t;3*t];
mesh(z)
title('mesh(z)','fontsize',16)
带等高线的三维网格曲面函数meshc
在xy平面上绘制曲面,在z轴方向的等高线
带底座的三维网格曲面函数meshz
在xy平面止绘制曲面的底座
具有等高线的曲面函数surfc
具有光照效果的曲面函数surfl
例3 :用4种方式绘制函数z=(x- 1 ) ^2+(y-2) ^2-1的曲面图,其中x ∈ [0,2],y∈ [1,3]。
[X,Y] = meshgrid(0:0.1:2,1:0.1:3); %生成网格矩阵x,y
Z = (X-1).^2+(Y-2).^2-1; %生成高度矩阵zsubplot(2,2,1)
meshc(X,Y,Z)
title('meshc(X,Y,Z)','color','r')subplot(2,2,2)
meshz(X,Y,Z)
title('meshz(X,Y,Z)','color','r')subplot(2,2,3)
surfc(X,Y,Z)
title('surfc(X,Y,Z)','color','r')subplot(2,2,4)
surfl(X,Y,Z)
title('surfl(X,Y,Z)','color','r')
3、标准三维曲面
( 1 ) sphere函数:绘制三维球面
[x, y,z]=sphere(n)
sphere函数将新产生3个n加阶的方阵,采用这3个矩阵可以绘制出圆心位于原点,半径为1的单位球体
( 2 ) cylinder函数:绘制三维柱面
[x, y, z]=cylinder(R, n)
参数R是个向量,存放柱面各个等间隔高度上的半径,n表示在圆桂圆周上有n个间隔点
例4:用cylinder函数分别绘制柱面、花瓶和圆锥面。
subplot(1,3,1)
[x,y,z] = cylinder; %不带参数,默认生成2行21列的网格坐标矩阵
surf(x,y,z) %绘制柱面
title('柱面','color','r','fontsize',20)subplot(1,3,2)
t = linspace(0,2*pi,40);
[x,y,z] = cylinder(2+cos(t),30); %向量有40个元素,生成40行31列的网格坐标矩阵
surf(x,y,z) %绘制花瓶
title('花瓶','color','r','fontsize',20)subplot(1,3,3)
[x,y,z] = cylinder(0:0.2:2,30);
surf(x,y,z) %绘制圆锥面
title('圆锥面','color','r','fontsize',20)
例5 :用cylinder数绘制两个相互垂直且直径相等的圆柱面的相交图形。
[x,y,z] = cylinder(1,60);
z = [-1*z(2,:);z(2,:)];
surf(x,y,z)
hold on
surf(y,z,x)
axis equal
4.5 matlab三维曲面(mesh、fmesh、meshc、meshz、surf、fsurf、surfc、surfl)相关推荐
- MATLAB三维曲面绘图你不得不知道的...
三维曲面图,可以用surf(有阴影)或mesh(没阴影)命令,如: xx=linspace(-1,1,50);%以上两句的意思是 yy=linspace(-2,2,100);%创建一个xy坐标平面前建 ...
- (MATLAB)三维曲面(mesh/surf)
本实验取材于中南大学<MATLAB与科学计算> 今天学习了三维曲面绘制,三维曲面绘制需要用相应的函数是,但是步骤总体包括: 平面网格数据的生成 绘制三维曲面的mesh函数和surf函数 f ...
- 如何利用MATLAB函数绘制三维曲面?系统学习MATLAB三维曲面的绘制
文章目录 0 前言 1 平面网格数据的生成 2 绘制三维曲面的函数 2.1 mesh函数和surf函数的一般召唤方式 2.2 其他召唤方式 2.3 mesh.surf函数的亲戚朋友 3.标准三维曲面 ...
- matlab 三维图程序,MATLAB 三维图形的绘制
三维图形的绘制 最常用的三维绘图是绘制三维曲线图.三维网格图.三维曲面图,相应的matlab命令分别为plot3.mesh.surf. plot3 plot3(X1,Y1,Z1,lineSpec) ...
- Matlab三维绘图------三维曲线图
在matlab中绘制的三维图主要有三种: 三维曲线图.立体网状图.和三维曲面图 其基本命令为: plot3 %三维曲线图 mesh %立体网状图 surf %三维曲面图 三维曲线图基本绘图函数 函数命 ...
- matlab 求曲面体积,matlab求两曲面之间的体积
MATLAB求曲面相交所成空间曲线的图形 放在你程序后也可,单独运行也行:t=-0.1:0.1:2*pi;x=2*cos(t);%交线参数方程z=2*sin(t);y1=sqrt(5)*ones(si ...
- matlab三维可视化,MATLAB中三维数据可视化及应用
Value Engineering -----------------------作者简介:张晓利(1976-),女,陕西临潼人,硕士研究生,讲师,研究方向为 计算机应用. 0引言 MATLAB 在数 ...
- MATLAB函数mesh与surf等绘制三维曲面入门
一.引言 三维曲面在实际应用中被广泛使用,能够更好的展示三维空间中曲面,以实现三维数据的可视化. Matlab软件中可以使用mesh.fmesh.surf和fsurf等函数来实现三维曲面的绘图.其中m ...
- Matlab之绘制三维曲面图
最近在学matlab三维绘图,总结了自己学的一些点,就当是记笔记啦! 情况一: z和x,y有关系,z=f(x,y) 1.surf方法 基本语法 surf(X,Y,Z) 这里的Z可以用X ...
最新文章
- 详解PyTorch编译并调用自定义CUDA算子的三种方式
- msvcr100.dll丢失原因及解决方法
- 皮一皮:从地理位置分析当年的那件事...
- SQL中常用的日期计算
- 移动应用如何提升登录转化率
- python numpy np.lexsort()(使用键序列执行间接稳定排序)(具体没太搞懂区别?)
- vs2013 error MSB8031 MBCSMFC问题的解决
- 我的Go语言学习之旅六:做一个WIN的简单弹窗
- python编程小学生学难吗_为什么小学生都要学Python
- java程序调用Oracle 存储过程 获取返回值(无返回,非结果集,结果集)
- Visual Studio 2019 v16.4 Preview 2 发布
- 机器学习算法中的偏差-方差权衡(Bias-Variance Tradeoff)
- TensorFlow 学习------第二天
- okhttp3 请求html页面,OkHttp3简单使用教程(一):请求和响应
- 宠物领养平台的分析与实现
- 使用ExtendSim指导全球大流行爆发期间的关键决策
- 2019 年第 34 周 DApp 影响力排行榜 | TokenInsight
- BZOJ3894:文理分科
- 键盘移动小div(js原生)
- Android获取系统相册图片选中地址,获取手机中的所有图片地址自定义相册