【MATLAB学习】02:MATLAB绘图
matlab笔记p2
目录
- matlab笔记p2
- 三、MATLAB绘图
- 1.二维曲线
- (1)plot函数:
- case1:`plot(x)`
- case2:`plot(x,y)`,x、y为向量
- case3:`plot(x,y)`,x、y为向量和矩阵
- case4:`plot(x,y)`,x、y为矩阵
- case5:绘制不同长度的曲线
- (2)plot(x, y)函数的样式:
- (3)fplot函数:
- case1:fplot函数基本用法
- case2:输入双函数参数的用法
- 2.绘制图形的辅助操作
- (1)图形添加标注:
- (2)坐标轴控制:
- (3)图形保留:
- (4)图形窗口的分割:
- 3.其他二维图形的绘制
- (1)特殊坐标系下的二维曲线:
- case1:对数坐标绘图
- case2:极坐标绘图
- (2)统计图绘制:
- case1:条形图
- case2:直方图
- case3:饼图
- case4:散点图
- (3)矢量绘制:
- 4.三维曲线
- (1)plot3函数:
- case1:`plot3(x,y,z)`
- case2:`plot3(x,y,z)`函数参数变化
- case3:绘制不同长度的曲线
- (2)fplot3函数:
- case1:fplot3函数基本用法
- 5.三维曲面
- (1)平面网格数据的生成:
- case1:利用矩阵运算生成网格数据
- case2:利用meshgrid函数生成网格数据
- (2)绘制三维曲面的mesh函数和surf函数:
- case1:`mesh(x, y, z, c);`、`surf(x, y, z, c);`
- case2:`mesh(z,c);`、`surf(z,c);`
- case3:`meshc`、`meshz`、`surfc`、`surfl`函数
- (3)绘制特殊的标准三维曲面函数:
- (4)绘制多方程三维曲面fsurf函数和fmesh函数:
- 6.图形修饰处理
- (1)视点处理
- (2)色彩处理
- case1:三维曲面着色颜色colormap
- case2:三维曲面着色方式shadding
- (3)剪裁处理
三、MATLAB绘图
1.二维曲线
(1)plot函数:
case1:plot(x)
当向量x
为实数向量时,plot(x)
以该向向量元素的下标为横坐标,元素的值为纵坐标绘制一条曲线。
当向量x
为复数向量时,plot(x)
以该向的实部、虚部为横轴坐标绘制出一条曲线。
case2:plot(x,y)
,x、y为向量
当 x
是向量,y
是向量时:
其中x
、y
的分别用于存储x坐标和y坐标的数据,通常 x
和 y
为长度相等的向量。
case3:plot(x,y)
,x、y为向量和矩阵
当 x
是向量,y
是矩阵时:
如下图:矩阵y的行数为3,列数为100;x的长度为100。情况为case1:x的长度 = 矩阵y的列数,则曲线的条数为矩阵y的行数。
如下图:对
y
进行转置操作,矩阵y的行数为100,列数为3;情况为case2:x的长度 = 矩阵y的行数,则曲线的条数为矩阵y的列数。
case4:plot(x,y)
,x、y为矩阵
当参数 x
为矩阵,参数 y
为矩阵,且为同型矩阵时:
以x、y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
如下图:采用这种方式绘制之前相同的图形
case5:绘制不同长度的曲线
plot(x1, y1, x2, y2, ... , xn, yn);
每一对向量对构成一组数据点的横纵坐标,绘制出一条曲线。
注意:在这里红色曲线在
x = 9
时就结束了绘制,而蓝色曲线一直绘制到了x = 10
(2)plot(x, y)函数的样式:
(3)fplot函数:
在plot函数中x
往往采取等间隔采样,这样导致某些曲线在某些区间无法准确的绘制出来。
使用fplot函数可以自适应的设置某些区间的采样间隔,可以更为准确的反应函数图像。
case1:fplot函数基本用法
调用格式:fplot(f, lims, 选项);
f
:代表一个函数,通常采用函数句柄的形式
lims
:为x轴的取值范围,用二元向量[xmin, xmax]
描述,默认为[-5, 5]
选项与plot函数一致
如图所示:fplot函数与plot函数绘制目标函数
f(x) = sin(1/x);
图形对比如下所示:
如果将fplot函数中的采样间隔缩小为原来的100分之一,得到的图形如下所示
采用fplot函数自适应的设置区间的采样间隔,得到的绘图结果如下
case2:输入双函数参数的用法
调用格式:fplot(funx, funy, tlims, 选项);
funx
、funy
:代表两个函数,通常采用函数句柄的形式
tlims
:为参数函数funx
、funy
的自变量的取值范围,用二元向量[tmin, tmax]
描述
2.绘制图形的辅助操作
(1)图形添加标注:
在各种标题和说明中还可以使用LaTex格式控制符显示数学公式
(2)坐标轴控制:
(3)图形保留:
一般情况下,绘图命令每执行一次绘图界面就会被刷新一次。若希望在已经存在的图形上继续叠加新的图形,可使用图形保持命令。
例:使用图形保留功能绘制两个同心圆,并更改坐标轴的原点为圆心、添加绘图网格
(4)图形窗口的分割:
若需要在一个窗口內绘制若干个独立的图形,便需要对图形窗口进行分割。
同一图形窗口中不同坐标系下的图形称为子图,matlab中提供了subplot函数对其进行处理
3.其他二维图形的绘制
(1)特殊坐标系下的二维曲线:
case1:对数坐标绘图
图例:在四种坐标图下绘制
f(x) = 1 / x
的图形,包括logx、logy、loglog
case2:极坐标绘图
图例:在极坐标图下,绘制心型曲线图
(2)统计图绘制:
case1:条形图
参数style中包括
grouped
簇装分组和stacked
堆积分组两种选项
更多命令的使用详见help bar文档
case2:直方图
如果参数x没有指定,则默认划分为10个区间。图例为服从高斯分布的直方图
如果参数x没有指定,则默认划分为20个区间。图例为服从高斯分布的直方图在极坐标下的表现
case3:饼图
注意:
explode
是与x
同等大小的向量,省略explode
时饼图是一个整体,图例为不及格人数饼图显示,不及格part需突出显示
注意:最后的
legend
两个参数location
、eastoutside
如果不指定,图例将会显示在图形内部并遮挡一部分显示
case4:散点图
(3)矢量绘制:
4.三维曲线
(1)plot3函数:
case1:plot3(x,y,z)
其中x
、y
、z
分别用于存储 x、y、z 坐标的数据,通常 x
、y
、z
为长度相等的向量。
以下图例为使用
plot3
函数绘制螺旋线函数图形
case2:plot3(x,y,z)
函数参数变化
与
plot()
函数类似的,plot3()
函数根据参数变化也分为很多情况,具体可通过help plot3
查阅说明手册
以下图例为在空间中不同位置绘制出5条正弦曲线
case3:绘制不同长度的曲线
plot(x1, y1, z1, x2, y2, z2 ... , xn, yn, zn);
与plot函数类似,每一对x、y、z向量构成一组数据点的坐标,绘制出一条曲线。
以下图例为绘制3条不同长度的正弦曲线,可以发现终止值不同决定了曲线长度的不同
(2)fplot3函数:
case1:fplot3函数基本用法
调用格式:fplot3(funx, funy, funz, tlims);
funx
、funy
、funz
:代表定义曲线x、y、z坐标的函数,通常采用函数句柄的形式
tlims
:为参数函数参数自变量的取值范围,用二元向量[tmin, tmax]
描述,默认为[-5, 5];
5.三维曲面
(1)平面网格数据的生成:
网格数据的定义如下图所示:
case1:利用矩阵运算生成网格数据
根据线性代数的矩阵运算知识,通过简单的观察和矩阵运算即可得到网格数据
case2:利用meshgrid函数生成网格数据
调用格式:[X, Y] = meshgrid(x, y);
其中参数x
、y
为向量,存储网格点坐标数据的X
、Y
为矩阵
例如上例中网格数据的自动生成如下,观察网格生成的数据可发现meshgrid生成网格数据的特点。
(2)绘制三维曲面的mesh函数和surf函数:
case1:mesh(x, y, z, c);
、surf(x, y, z, c);
其中,x
、y
是网格坐标矩阵,z
是网格点上的高度矩阵,c
用于指定在不同高度下的曲面颜色。
当参数c省略时,默认为c等于z的值,即曲线颜色的设定是正比于图形的高度的。
三维绘图函数 | 图像特点 |
---|---|
mesh(x, y, z)
|
绘制的图形线条具有颜色,线条间的补面没有颜色 |
surf(x, y, z)
|
绘制的图像线条颜色为黑色,线条间的补面有颜色,且颜色与z轴变化相关 |
plot3(x, y, z)
|
绘制图形由三维曲线组合而成 |
case2:mesh(z,c);
、surf(z,c);
当参数 x
、 y
省略时,z 矩阵的第2维下标当作 x
轴坐标,z矩阵的第1维下标当作 y
轴坐标。
分析:上图例中,z矩阵的第2维下标为列坐标(6列),第1位坐标为行坐标(3行),图像各点高度z值为矩阵中对应的元素值
case3:meshc
、meshz
、surfc
、surfl
函数
(3)绘制特殊的标准三维曲面函数:
(4)绘制多方程三维曲面fsurf函数和fmesh函数:
如果图形由三个参数方程定义,并且参数方程有两个自变量,此时可以使用matlab提供的fsurf和fmesh函数绘制三维曲面。
fsurf、fmesh函数与fplot双参数调用类似,可借鉴
调用格式:fsurf(funx, funy, funz, uvlims);
、fmesh(funx, funy, funz, uvlims);
funx
、funy
、funz
:代表定义曲面x、y、z坐标的函数,通常采用函数句柄的形式
uvlims
:为参数函数自变量的取值范围,用4元向量[umin, umax, vmin,vmax]
描述,默认为[-5, 5, -5, 5];
6.图形修饰处理
(1)视点处理
(2)色彩处理
case1:三维曲面着色颜色colormap
调用方式:colormap cmapname;
、colormap(cmap);
指定当前曲面使用色图
case2:三维曲面着色方式shadding
(3)剪裁处理
在图形中将需要裁剪的函数值设置为NaN,这样绘制图形时函数值为NaN的部分将不显示出来,从而达到对图形进行裁剪的目的。
【MATLAB学习】02:MATLAB绘图相关推荐
- 混合非线性整数规划matlab,matlab学习——02整数规划(蒙特卡洛法,指派问题,混合整数规划)...
02整数规划 蒙特卡洛法(随机取样法) 编写文件mengte.m,目标函数f和约束向量g function[f,g]=mengte(x); f=x(1)^2+x(2)^2+3*x(3)^2+4*x(4 ...
- [MATLAB学习笔记]matlab结构体A.B
在学习matlab中据见到了如下的语句: function [ seginfo ] = segment( t,acc,vel,sprate) ... seginfo.sloper=p(1); ... ...
- [MATLAB学习]:Matlab生成滑动平均滤波算法文件并移植到STM32单片机上运行——基于CubeMX
前言 人生如逆旅,我亦是行人. 今天分享一个在 MATLAB 上生成C算法文件,并将其移植到 keil5上,运行至 STM32 单片机,一个很有用的方法. 准备工作: 已安装 MATLAB 的软件(注 ...
- matlab学习日记,MATLAB学习笔记---DAY1
第一章(R2016a) 一.基本问题 (1) 1+1/2+1/3+1/4 ... ...之前必须要有空格 +1/5+1/6+1/7+1/8+1/9 (2)openvar('变量名') 打开变量 cle ...
- [MATLAB学习笔记]MATLAB读取UG三维模型数据
UG完成三维建模之后,导出STL格式的外形数据. missile.txt文件网盘链接 https://pan.baidu.com/s/1HAsXYD8bz-5MA2an6P-skg 密码: ttbx ...
- [MATLAB学习笔记] MATLAB里 ‘Markersize’ 设置的值是‘Marker_size’
Markersize意思是标记尺寸,那么 Marker_size 的值代表的就是标记尺寸的大小. 例如在 plot 作图中,事先定义两个数据 x=-pi:0.5:pi , y=sin(x) ,运行作图 ...
- MATLAB学习笔记 MATLAB仿PhotoShop油画/毛玻璃/漩涡/锥形等特效
1.漩涡效应(Swirl effect) 通过将坐标从笛卡尔坐标转换为极坐标,可以找到图像中每个点的角度和半径. 公式计算: new[rho , theta] = ol ...
- Matlab学习总结
Matlab学习指南 matlab笔记20180415 记住:对于MATLAB来说,应该尽量摒弃"循环"处理,而采用"向量化"处理方式.少用循环,多用并行向量计 ...
- matlab学习报告
Matlab学习报告 Matlab的主要功能有数值分析.数字图像处理.数值和符号计算.数字信号处理.工程与科学绘图.通讯系统设计与仿真.控制系统的设计与仿真.财务与金融工程-- 真的是功能强大.之所以 ...
- MATLAB学习笔记——二维和三维绘图
MATLAB学习笔记--二维和三维绘图 近期练习matlab的二维和三维绘图,整理一下,以防忘记. 文章目录 MATLAB学习笔记--二维和三维绘图 一.二维绘图 1.plot命令 2.fplot 命 ...
最新文章
- Android --- 按钮控件设置与不设置背景都会有一个小小的灰色阴影怎么去掉?
- 链式队列的基本操作(入队、出队、遍历队列、清空队列)
- 遍历HashMap的四种方法
- flutter 拖拽布局_使用Flutter模仿SOUL可任意拖动的悬浮按钮
- 华为荣耀20s云服务_华为荣耀20和20s的区别
- 《Java虚拟机原理图解》1.1、class文件基本组织结构
- 学习设计模式 - 中介者模式
- Oracle 11g RAC oc4j/gsd Offline
- python appium 并行多设备_appium 多个设备同时执行
- 基于NTT的循环码:RS码、BCH码、RM码
- 「00后缩写黑话翻译器」登上GitHub热榜,中年网民终于能看懂年轻人的awsl
- Sql语法-Oracle
- Entegris EUV 1010光罩盒展现极低的缺陷率,已获ASML认证
- 压缩解压:tar zip unzip 7z|7za rar
- 解决百度云非限速版本被封下载问题
- 数字版权资源价值日益凸显
- 全球及中国安防电源行业竞争状况及供需前景预测报告(新版)2022-2027
- 事业单位考软考中级该考哪一个?
- php上传文件类型判断,PHP上传文件类型判断
- STM32调试485(sp3485)技术总结