2.4 函数的作图
MATLAB有很强的图形功能,可以方便地实现数据的视觉化。下面着重介绍二维图形的画法。
1.一般函数y=f(x)的作图(二维)
(1)作图基本形式 二维图形的绘制是MATLAB语言图形处理的基础,MATLAB最常用的画二维图形的命令是plot,MATLAB命令格式:
输出x的范围[a,b],步长为c
输出y的表达式,表达式中的运算符加点画出函数的图像如:
生成一组线性等距的数值
生成的图形如图2-1所示,是[0,2π]上30个点连成的光滑的正弦曲线。
图 2-1
(2)作多重线 在同一个画面上可以画许多条曲线,只需多给出几个数组,MATLAB命令程序格式:
在同一平面画出两个函数的图像
如:
则可以画出图2-2。
图 2-2
注:①也可用hold on语句,达到作多重图的效果,MATLAB命令格式:
('表达式1,[a,b]')
('表达式2,[a,b]')
②如果要在一个画布上作k个小图,则可用subplot(m,n,k),MATLAB命令格式:
fplot('表达式1,[a,b]')
即表达式1所表示的曲线画在m行n列第k个位置上(从左至右,再从上至下计数)。
(3)作图的线型和颜色 为了适应各种绘图需要,MATLAB提供了用于控制线色、数据点和线型的3组基本参数。它的使用格式如下:plot(x,y,'color_point_linestyle'),具体参数见表2-2。
表 2-2
(4)作图的网格和标记 在一个图形上可以加网格、标题、x轴标记、y轴标记,用下列命令完成这些工作。
网格
横坐标标签
纵坐标标签
标题
注:如果要使图形变得更加美观,也可作一些技巧性的处理。如果限制画布,则需在输入plot语句前输入axis([a,b,c,d]),这个命令是将图形限制在[a,b]×[c,d]上,其中a,b,c,d必须是数值。由此生成图2-3:
图 2-3
2.特殊函数的作图
①作参数方程的图形,也可以用plot命令,其MATLAB命令格式:
单引号里为线型和颜色参数,参数可选,默认蓝色
例2.5:作出函数的图像。
MATLAB程序如下:
函数图像如图2-4所示。
图 2-4
注:由于y=f(x)可转变为参数方程,因此,y=f(x)也可用此法作图。
②作分段函数的图形,也可以用plot命令,其MATLAB命令格式:
例2.6:作出的图像。
MATLAB程序如下:
函数图像如图2-5所示。
图 2-5
③作一些数据点的散点图:
例2.7:已知表2-3组数据是黄河小浪底在24个不同时间的调沙量
表 2-3 (单位:t)
(续)
根据试验数据建立数学模型,用拟合的方法得出任意时刻排沙量的变化关系。
散点图如图2-6所示。
图 2-6
在2.5节将讲到多项式回归,如果想将此曲线拟合并在同一画面作图,则需加如下程序:
拟合数据
则得如下散点图和拟合图像(图2-7):
图 2-7
3.其他绘图命令
①符号函数的简易绘图函数ezplot:
MATLAB命令格式:
或
定义符号变量
默认横坐标范围当然,ezplot(f,[xmin,xmax])可以使用输入参数来代替默认横坐标范围。
例2.8画出函数y=tanx的图形。
MATLAB程序如下:
ezplot('tan(x)')
函数的图形如图2-8所示。
图 2-8
例2.9:作出x4+y4-8x2-10y2+16=0的图形。
MATLAB程序如下:
函数的图形如图2-9所示。
图 2-9
②绘制函数图函数fplot:
fplot与plot命令相似,其中fplot(fun,lims)绘制由字符串fun指定函数名的函数在x轴区间为lims=[xmin,xmax]的函数图。若lims=[xmin,xmax,ymin,ymax],则y轴也被限制。fun必须为M文件的函数名或对变量x的可执行字符串,此字符串被送入函数eval后被执行。函数fun(x)必须要返回针对向量x的每一元素结果的向量。
例2.10:画的图形。
解:(1)首先用M文件fun1.m定义函数f(x)如下:function y=fun1(x);
(2)在matlab命令窗口输入:
fplot('fun1',[-3,3])就可画出函数f(x)的图形。
这里也可以使用匿名函数,编写程序如下: