matlab绘图(三)绘制三维图像
目录
一、绘制三维曲线
二、绘制三维曲面
1.meshgrid函数
2.mesh和surf函数
一、绘制三维曲线
1.最基本的绘制三维曲线的函数—plot3
plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)其中,每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同。当x、y、z是同维向量时,则x、y、z对应元素构成一条三维曲线;当x、y、z是同维矩阵时,则以x、y、z对应列元素绘制三维曲线,曲线条数等于矩阵列数。(plot详细用法可以参考我的博客:matlab绘图(一)
例1. 绘制三维曲线
代码如下:
t=0:pi/10:10*pi;%取点
x=sin(t)+t.*cos(t);
y=cos(t)-t.*sin(t);
z=t;%计算x,y,z坐标
plot3(x,y,z,'Color','#4F4F2F','Linewidth',1.5);
axis([-30 30 -30 30 0 35])%设置坐标范围
title('Line in 3-D Space');%标题
xlabel('X');ylabel('Y');zlabel('Z');%x,y,z轴标签
grid on;%开启网格线
绘制图形如下:
2.简易绘制三维曲线
对于参数形式表示的三维曲线,还可以用简易绘图函数ezplot3绘制。
调用格式:ezplot3(x,y,z,[a,b])
在区间a < t < b绘制由参数方程x = x (t),y = y (t) 和z = z (t) 确定的三维曲线。未指定区间时,默认在区间0 < t < 2pi绘制图形。
例2. 绘制三维曲线
syms t
x=sin(t)+t.*cos(t);
y=cos(t)-t.*sin(t);
z=t;%计算x,y,z坐标
ezplot3(x,y,z,[0,10*pi])
运行结果;
二、绘制三维曲面
1.meshgrid函数
对于函数曲面,即由z=f(x,y),a<x<b, c<y<d表示的曲面,通常,先在x轴的区间[a,b]内取n个点,设这些点的x坐标构成向量x; 再在y轴的区间[c,d ]内取m个点,设这些点的y坐标构成向量y;由各划分点分别作平行于两坐标轴的直线,则得到二维矩形区域a<x<b, c<y<d 内的mxn个网格点Pij 。这mxn个网格点的x坐标构成mxn的矩阵X,它们的y坐标构成mxn的矩阵Y,即第(i,j)个网格点Pij的坐标为(X(i,j),Y(i,j))。如何由向量x, y得到矩阵X, Y。Matlab专门提供了一个函数meshgrid,它的功能就是由x,y轴的划分点(向量x,y)生成二维网格点Pij的坐标矩阵X,Y。
格式:[X,Y]=meshgrid(x,y);当y=x时,可以简化为[X,Y]=meshgrid(x)。
2.mesh和surf函数
mesh函数用于绘制三维网格图,surf用于绘制三维曲面图,各线条之间的补面用颜色填充。以下介绍mesh的使用格式 (surf与mesh的使用格式相同)。
mesh(X,Y,Z,C) : 其中,X,Y,Z 分别是由曲面上mxn个点的x坐标、y坐标和z坐标构成的mxn的矩阵,即: (X(i,j),Y(i,j),Z(i,j))是第(i,j)个网格点Pij的坐标, C(i,j)是Pij的颜色值。
mesh(X,Y,Z) :使用C=Z(颜色值正比于高度值)
mesh(x,y,Z)或mesh(x,y,Z,C) :使用两个向量代替两个矩阵,要求: length(x)=n, length(y)=m ,且[m,n]=size(Z),第(i,j)个网格点Pij的坐标为(x(j),y(i),Z(i,j))
mesh(Z):等价于mesh(1:n,1:m,Z)。
mesh(Z,C):等价于mesh(1:n,1:m,Z,C)。
例3.绘制函数z=x*exp(-x^2-y^2)在[-2,2]x[-3,3]内的图形。下面两段代码效果是完全一样的。
%% figure1
figure(1)
x=-2:0.1:2; y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
mesh(X,Y,Z);
title('figure 1')
colorbar
%% figure2
figure(2)
x=-2:0.1:2;m=size(x,2);
y=-3:0.1:3; n=size(y,2);
Z=zeros(n,m);
for i=1:mfor j=1:nZ(j,i)=x(i)*exp(-x(i)^2-y(j)^2);end
end
mesh(x,y,Z);
colorbar
title('figure 2')
结果展示:
曲面图绘制(只需将mesh改为surf即可),这十张图片体现不同的颜色映射风格,标题为对应的colormap的值。
代码如下:
%% figure 1
figure(1)
x=-2:0.1:2; y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('hsv')
colormap('hsv')
shading flat
%% figure 2
figure(2)
x=-2:0.1:2; y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('jet')
colormap('jet')
shading interp
%% figure 3
figure(3)
x=-2:0.1:2; y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('copper')
colormap('copper')
shading interp
%% figure 4
figure(4)
x=-2:0.1:2; y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('bone')
colormap('bone')
shading interp
%% figure 5
figure(5)
x=-2:0.1:2; y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('flag')
colormap('flag')
shading interp
%% figure 6
figure(6)
x=-2:0.1:2; y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('pink')
colormap('pink')
shading interp
%% figure 7
figure(7)
x=-2:0.1:2; y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('spirng')
colormap('spring')
shading interp%% figure 8
figure(8)
x=-2:0.1:2; y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('summer')
colormap('summer')
shading interp%% figure 9
figure(9)
x=-2:0.1:2; y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('autumn')
colormap('autumn')
shading interp%% figure 10
figure(10)
x=-2:0.1:2; y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('winter')
colormap('winter')
shading interp
图像结果展示:
例4.绘制三维曲面图z = sinx^2 + cosy^2,x:[0,pi],y:[0,pi/2]。
代码:
[x,y]=meshgrid(0:pi/100:pi, 0:pi/100:pi/2);
z=sin(x.^2)+cos(y.^2);
surf(x,y,z);
axis([0 4 0 1.8 -1.5 1.5]);
colormap('prism')
shading interp
colorbar
运行结果:
这节先说这么多,下期将继续分享!
matlab绘图(三)绘制三维图像相关推荐
- MATLAB三维绘图(三)绘制等值线图
MATLAB三维绘图(三)绘制等值线图 1.使用contour函数绘制等值图,示例: %% 显示不同颜色的梯度图 clear; clc; close all; x = -3.5:0.2:3.5; y ...
- MATLAB笔记---绘制三维图像
记录几个MATLAB中绘制三维图像的常用函数 1.plot3(x,y,z) /plot3(x,y,z,LineSpec) 用于绘制三维空间中的坐标 需要注意的是当你要绘制由线段连接的一组坐标,那么就将 ...
- python【Matlibplot绘图库】-绘制三维图像
文章目录 1.绘制三维图像 2.plt.axes() 1.绘制三维图像 import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import ...
- R语言使用persp函数绘制三维图像实战(3D):自定义3D图、图像旋转、添加轴标签
R语言使用persp函数绘制三维图像实战(3D):自定义3D图.图像旋转.添加轴标签 目录
- matlab实验7绘图操作绘制三维曲线,上机习题6 MATLAB7.0三维绘图
matlab三维绘图经典 实验六 MATLAB7.0三维绘图 实验目的: ① 掌握绘制三维图能形的方法: ② 掌握图形修饰处理方法: ③ 知道图像处理方法,了解动画制作方法. 实验要求:给出程序和实验 ...
- matlab实验7绘图操作绘制三维曲线,matlab上机习题6 MATLAB7.0三维绘图
实验六MATLAB7.0三维绘图实验目的: ①掌握绘制三维图能形的方法: ②掌握图形修饰处理方法: ③知道图像处理方法,了解动画制作方法. 实验要求:给出程序和实验结果. 实验内容: 一.绘制三维曲线 ...
- MATLAB绘制三维图像(第一篇)
%Rosebrock检验函数 一.plot3%画三维空间里的线 x1=-2:0.1:2; x2=-2:0.1:2; f=100*(x2-x1.^2).^2+(1-x1).^2; subplot(2,2 ...
- matlab绘图z=sin(x_「matlab画三维图」Matlab 应用之绘制三维图形(基础篇) - seo实验室...
matlab画三维图 在Matlab中,三维图形的绘制包括三维曲线,三维网线图和三维曲面图.闲话不多说,直接进入正题.首先介绍几个函数: 1.plot3(x,y,z,-) 其中,x,y,z为维数相同的 ...
- MATLAB图形绘制--三维图像
三维图像 我们可以调用mesh(x,y,z)命令来生成三维图像 我们来看函数: 代码: >> [x,y] = meshgrid(-2*pi:0.1:2*pi); >> z = ...
最新文章
- 学python买什么电脑-学Python买什么笔记本电脑?
- 2015-12-18 学习心得
- 华为复制加密门禁卡_MIUI12轻体验:关于模拟门禁卡,你想知道的都在这里
- 使用Javaslang进行Java 8中的函数式编程
- linux sshd启动失败 sshd re-exec requires execution with an absolute path
- tf.nn.dropout
- 程序员被公司开除,隔阵子领导命令回前公司讲解代码,网友直呼:关我嘛事?
- linux下安装和使用vnc
- Swift 接入LinkedIn登录
- 2023计算机考研资料分享
- [内附完整源码和文档] 基于JSP实现的网上商城系统
- 2021年中国水力发电装机量、发电量和竞争格局情况,总水电装机容量达391GW「图」
- 同比增长和环比增长的区别
- Flutter 项目实战 截图分享到微信|QQ|微博 十二
- armbian清理_N1盒子armbian/ubuntu/linux系统修改日志输出到内存
- steam验证登录失败_如何向Steam添加两方面身份验证
- Qt QTabWidget插入widget(重要的是编程思想)
- 串口通信基础(二)——传输方式(方向)、错误校验、传输速率与传输距离
- MatLab画直方图并填充纹理
- 世界上最美的诗----孩子,别怕
热门文章
- 面试官:你这数据库表设计的,真垃圾。。。
- 星特朗望远镜怎么样_这是属于年轻人的第一台天文望远镜:简评星特朗 SCTW-70 天文望远镜!...
- 第16周-啤酒和饮料
- matlab画出加筋板的模态图,加筋板结构振动声强可视化研究
- macOS Big Sur系统安装
- 下 终端_营销数字化能力建设:卡姿兰如何打造线上线下一体化,赋能终端?...
- 幼儿园计算机教学计划,幼儿园大班计算机教学计划 .doc
- 高等数学 函数极限求法(一) 代入法
- Low Power概念介绍SRPG Cell
- openjudge每日推荐——4978宠物小精灵之收服