plot
功能
绘制二维图形的最基本函数。
语法
//x为向量时,以x的元素值为纵坐标,x的序号为横坐标绘制曲线。 //x为矩阵时,以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线。 polt(x) //以x 元素为横坐标值,y 元素为纵坐标值绘制曲线 plot(x,y) //以公共的x 元素为横坐标值,以y1,y2,… 元素为纵坐标值绘制多条曲线 plot(x,y1,x,y2,…)
其他属性参数:
符号 | 作用 | 符号 | 作用 | 符号 | 作用 | 符号 | 作用 |
---|---|---|---|---|---|---|---|
y | 黄 | - | 实线 | . | 点 | < | 小于号 |
m | 紫 | : | 点线 | o | 圆 | s | 正方形 |
c | 青 | -. | 点划线 | x | 叉号 | d | 菱形 |
r | 红色 | – | 虚线 | + | 加号 | h | 六角星 |
g | 绿 | * | 星号 | p | 五角星 | ||
b | 蓝 | v | 向下三角形 | ||||
w | 白 | ^ | 向上三角形 | ||||
k | 黑 | > | 大于号 |
eg
clear; clc; clf; x = linspace(0,2*pi,50); y = sin(x); plot(x,y) xlabel('x轴') ylabel('y轴') title('题目') gtext('正弦曲线') %图形上出现十字线,鼠标控制其移动,单击鼠标显示文字
ezplot
功能
无需数据准备,直接画出函数图形
语法
//在默认区间[-2pi,2pi]上绘制函数f=f(x) ezplot(f) //在区间min < x < max上绘制函数 f = f(x) ezplot(f,[min,max]) //对于隐式定义的函数f = f(x,y):ezplot(f)绘制的是 f(x,y) = 0 ezplot(f,[xmin,xmax,ymin,ymax]) //绘制含参函数 x = x(t)和y = y(t) 默认区间: 0 < t < 2pi. ezplot(x,y) //绘制含参函数 x = x(t)和y = y(t) 区间:tmin < t < tmax. ezplot(x,y,[tmin,tmax]) //在指定的区域,在figure窗口绘制通过handle figure指定的函数 ezplot(...,figure_handle)
fplot
功能
通过MATLAB平台内部设置的自适应算法来动态决定自变量的离散间隔,当函数值变化缓慢时离散间隔取大些,当函数值变化剧烈时,离散间隔取小一些。
语法
//在limits定义的自变量的取值范围[xmin,xmax]内 //或者在自变量与因变量的取值范围[xmin,xmax;ymin,ymax]内,绘制fun函数。 fplot(fun,limits) //在limits定义的取值范围内,在Linespace所规定的线型、标记、颜色等属性下,绘制fun函数 fplot(fun,limits,LineSpace) //在limits定义的取值范围内,在LineSpace所规定的线型、颜色、标记等属性下,在tol所规定的相对误差内绘制fun函数, fplot(fun,limits,tol,LineSpace) //在limits定义的取值范围内绘制fun函数,至少绘制n+1个点。 fplot(fun,limits,n)
eg
//函数 function Y = fun(x) Y(:,1) = 200 * sin(x(:)) ./ x(:); Y(:,2) = x(:) .^ 2; end // fplot('fun',[-20 20])
subplot
功能
分割figure,创建子坐标系(并不绘图)
语法
//将figure分为m × n块,在第p块创建坐标 h = subplot(m,n,p) or subplot(mnp) //如果所指定的坐标系已存在,那创建新坐标系替换它 subplot(m,n,p,'replace') //p为向量,表示将P中指定的小块合并成一个大块创建坐标系,P中指定的小块可连续也可不相连。 subplot(m,n,P) //将坐标系h设为当前坐标系,相当于axes(h) subplot(h) //在指定位置创建一个新坐标系 subplot('Position',[left bottom width height]) //在创建坐标系的同时,设置相关属性 subplot(..., prop1, value1, prop2, value2, ...) //返回所创建坐标系的句柄 h = subplot(...)
eg:
clear; clc; t = -4:0.001:4; ut1 = stepfun(t,-2) ut2 = stepfun(t,2) gt = ut1 - ut2; subplot(3,1,1); plot(t,ut1); axis([-4,4,-0.5,1.5]); subplot(3,1,2); plot(t,ut2); axis([-4,4,-0.5,1.5]); subplot(3,1,3); plot(t,gt); axis([-4,4,-0.5,1.5]);
结果:
PS: stepfun函数实现单位阶跃信号
PPS:其他常用的二维绘图函数
semilogx(x,y) //半对数坐标,x轴为常用对数坐标 semilogy(x,y) //半对数坐标,y轴为常用对数坐标 loglog(x,y) //全对数坐标 pause // 用在plot命令之间,暂停命令执行,直到敲击任意键