这就是matlab区别于其他科学计算的地方,实现了数据结果的可视化,具有强大的图形功能
plot函数是最基本最常用的绘图命令,执行plot命令,系统会自动创建一个新的图形窗口,
plot函数有以下几种调用格式:
1)plot(x)
a:当x是实向量时,则绘制出以该向量元素的下标(即向量的长度)为横坐标,以该向量元素的值为纵坐标的一条连续曲线
b:当x是实矩阵时,按列绘制出每列元素值对应的下标的曲线,曲线数等于列数;
c:当x是复矩阵时,按列分别绘制出以元素实部为横坐标,虚部为纵坐标的多条曲线;
这个函数理论基础看似简单,实际上后续都很重要
如果要在同一个图形窗口之中分割出所需要的几个窗口来,可以使用subplot命令
1)subplot(m,n,p):视图分割成m*n个视图,并指定第p个视图为当前视图,
2)subplot(‘position’,[left bottom width height]),产生的新子区域的位置由用户自己指定,后面的四元组为区域的具体参数控制,宽高的取值范围都是【0,1】
2.plot(x,y)
函数的功能要能准确把握,很重要
重要例子:
3.plot(x1,y1,x2,y2,…)
这个函数格式的功能是绘制多条曲线,在这一条指令之中,(xi,yi)必须是成对出现的,上面的指令等价于逐条执行plot(x,y)指令
通过两个实例加深理解
注意:引入函数linspace(a,b,n) 用于将已知区间【a,b】n等分,返回值是各节点的坐标;
4.plot(x,y,s)
hold on命令用来使当前轴及图形保持不变,准备接收plot函数之后的所绘制的新的图线,即把这些图形都花在一张图中,hold off就是之后的图形不在保持这一性质;
hold on 命令的作用千万不能忘了
示例:图像信息的保持:
可以看到下面这个图保持了之前的图像,在此基础上加入了之后的新图
在这个图纸中,可以看到,前两个图都消失了,因为已经off了
示例:曲线属性的设置:
5.plot(x1,y1,s1,x2,y2,s2…)
这种用法格式与用法三相似,不同之处是此格式下有参数的控制
这种操作方法一定程度上替代了hold on 命令,而且达到了代码精简的效果,显然很好
fplot命令是matlab的一个专门用于画一元函数图像的命令,这个功能plot命令也可以完成,实际上plot命令是根据我们给定的数据点来作图,而在实际情况中,我们不知道函数的具体情况,因此我们根据我们所选取的数据点来选择往往会忽略真实函数的某些重要特性
fplot命令用来指导数据点的选取,通过内部的自适应算法,在函数变化的平稳的地方,它所选取的数据点会相对稀疏一点,在函数变化明显的地方,选点就会很密
用fplot命令所作出的图像要比用plot命令做出的图像光滑准确
对上述的几种用法还有几点要说明
实例:绘制函数图线
从图中我们可以明显看出fplot命令所画出的图形比plot命令更加准确,这主要是因为分点取的太少了,也就是说对于区间的划分还不够细致,读者往往会感觉对长度为0.01的区间做50等分的划分已经够细致了,但是事实上远远不能精确描述原函数
对于符号函数的图形化表示,用这个命令来做,利用这个命令,可以轻易的将一个符号函数图形化;
可以看出,这个函数会自动生成函数图名!不错
上面讲的绘图命令都是使用笛卡尔坐标系,实际工程中,往往会涉及不同坐标系下的图像问题
在MATLAB中,我们用polar命令来绘制极坐标下的函数图像,也有相应的调用格式:
实例:极坐标坐标系下的图形
实例:在直角坐标系和极坐标系下画出图像
如果我们单纯的还想看一下此图在直角坐标系下面的图像,可以借助pol2cart命令,可以将响应的极坐标数据点转化为直角坐标系下的数据点,注意,此函数得到的图像可不是原函数表达式的直角坐标系图像,有本质区别
双y轴坐标系实际上常用于比较两个函数的图像,操作命令就是plotyy()
实例
matlab不仅擅长与矩阵相关的数值运算,同时还具备强大的图形功能,这是其他用于学科计算的编程语言所不具备的,matlab可以很方便的实现大量数据计算结果的可视化,可以很方便的修改和编辑图形界面
matlab提供了查阅上表中的属性和属性值的函数set和get使用格式如下
注意操作步骤:(1)定义变量(2)定义表达式(3)绘制函数曲线