matlab给绘制二维图形提供了很多的函数,把一些绘制二维图形的基本函数做成一张表,如下图所示:
我就按照表的顺序一一记录一些个函数的简略用法。
首先是
1.plot函数
plot函数有很多重载方法,这里只做简单的介绍
1.1 plot(Y)
1.1 若Y是向量,绘制向量Y对其索引值的曲线。
1.2 若Y是实数矩阵,绘制矩阵的每列对应于行数的曲线集合。
1.3 若Y是复数矩阵,等价于plot(real(Y),imag(Y));
1.2 plot(X,Y)
1.2.1 若X,Y,均为向量,绘制向量Y对应向量X的曲线此时X的长度跟Y的长度必须相等。
1.2.2 若X为向量Y为矩阵,则X的长度与矩阵Y的行数或列数必须相等:
1.2.2.1 X的长度与Y的列数相等,或X的长度与矩阵Y的行数和列数均相等(Y为方阵),绘制矩阵Y的每列对应X的曲线集合
1.2.2.2 X的长度与Y的行数相等,绘制矩阵Y的每行对应X的曲线集合
1.2.2 若X为矩阵Y为向量,则Y的长度与矩阵X的行数或列数必须相等,绘制方法与1.2.1类似,不在过多介绍
图略
1.2.3 若X,Y均为矩阵,则X,Y的大小必须相等,绘制矩阵Y的每列对应X的每列的曲线。
P.S 如果矩阵是复数矩阵,会自动忽略掉复数的虚部。。。。。
1.3 plot(X,Y,LineSpec)
绘制Y对应于X的曲线集合,并指定曲线的LineSpec,比如线型,标记符号,和颜色或其任意组合,API上关于LineSpec的讲解很详细。
1.4 plot(X,Y,‘属性’,属性值)
跟1.3 相比,只是属性值得不同。API上有很多
P.S 1. 有一种调用的方法 h = plot(x....) 返回和曲线的句柄,其实感觉就像是指针
2.semilogx semilogy 和 loglog 等函数的使用方法和plot基本类似,只是在曲线的外观上有所不同
2.plotyy函数
这个函数又叫双Y轴函数(上面的例子都是单Y轴函数,只有左侧一个Y轴)。plotyy是为了满足 :对函数值变化范围较大的两组数据同事绘图(这个时候用hold on,会很难从图形中辨识函数值变化范围较小的那组数据变化趋势的细节信息的,因为坐标系太大,所以才有这样的双坐标轴绘图),
比如这么样的一个表格:
3.polar函数
前面的函数都是在直角坐标系的绘图的,但是有时候需要在极坐标或者柱坐标中绘图,于是就有了poltar(极坐标绘图函数)
>> polar(theta,rho,LineSpec) 其中theta是极脚,rho是极径,其他的方法跟其他绘图函数基本相同。
网上找了个例子:
当然,还有很多坐标变换函数比如cart2pol 之类的,自行百度
4.fplot函数
如果不太了解某个函数随自变量的变化趋势,随便的就取定自变量的范围,很可能就用为自变量取值范围不好而是的绘制出的图片失真,为解决此问题可以使用fplot。这个函数,据说可以通过其内部的自适应算法动态的决定自变量的间隔。比如,函数值得变化较为剧烈,那么自变量的取值间隔就小。从而保证绘制出的图形的质量和效率。
绘制出的图形的质量和效率。
基本的调用函数形式为:
fplot(fun,limits)其中,fun为要绘制的函数,fun可以为可执行字符串,M文件,inline或者匿名函数。fun为要绘制的函数,limits为指定的范围,可以使二维向量平[xmin,xmax]或四维向量[xmin,xmax,ymin,ymax]
比如:
5.ezplot函数
ezplot函数可以直接绘制一元函数 如 y=f(x) 参数方程
构成的函数y=f(x),以及隐函数f(x,y)=0的图形。
它的调用跟fplot类似,基本的调用方法是:
ezplot(fun,limits) 参见4.
至此,二维图形的绘制只剩下子图和交互式绘图了。
子图
为了突出的对比几个相似图形,一般可以使用子图(subplot),这样就可以在一个figure中做若干个图。
使用方法:subplot(m,n,p)
其中,m表示是图排成m行,n表示图排成n列,也就是整个figure中有n个图是排成一列的,一共m行,如果m=2就是表示2行图。p表示图所在的位置,p=1表示从左到右从上到下的第一个位置。
网上找了个例子:
交互式绘图
交互式绘图的常用方法是:ginput,gtext
在绘图前调用,然后在调用绘图函数,即可。比如用ginput可以方便的通过鼠标来读取二维平面图形的任意一个点的坐标值。当调用时,如ginput,会是当前的图形从后台调到前台,然后咱们可以移动鼠标点击想要选取的点,完成后(到可N值,或按下space),会在命令窗口看见点的坐标