matlab常用函数
matlab函数
绘图函数
一、plot():二维图形绘制
1、plot(y):
对于只含一个输入参数的plot函数,如果输入参数y为向量,则以该参数为纵坐标,横坐标从1开始至与向量的长度相等;如果输入参数y是矩阵时,则按列绘制每列元素的曲线,每条曲线的纵坐标为该列上的元素值,横坐标从1开始,与元素的行坐标对应,曲线条数等于输入参数矩阵的列数,多条曲线默认状态下通过颜色区别。
2、plot(x,y):
对于含有两个输入参数的plot函数,如果x是向量,y也为向量,则向量x、y的长度必须相同;如果x为向量时,y为矩阵,则矩阵y必须有一维大小与向量长度相等,将以x为横坐标,绘制出多条不同颜色的曲线,曲线条数等于矩阵y的另一维的大小;如果x、y是同维矩阵,则分别以矩阵x、y对应列元素为横、纵坐标,绘制曲线,曲线条数等于矩阵的列数,不同的曲线默认状态下会以不同的颜色区别。
3、plot(x1,y1,x2,y2,...):
对于含有多个输入参数的plot函数,x1和y1、x2和y2分别配对,即以x1为横坐标数据时,y1为相应的纵坐标,以x2为横坐标数据时,y2为相应的纵坐标,以此类推,要求配对的向量长度相等,但是组间向量可以不相等,最终可以在同一图形窗口内绘制出多条曲线。
4、plot(x1,y1,LineSpec):
用于对图形的线型、数据点的样式、颜色进行控制,LineSpec为控制线型、点型、颜色的字符串。3个控制符连为字符串对图形样式控制,线型、点型、颜色的控制符的位置对结果没有影响,可以缺省任何一个或多个参数。
例:“r-.”表示红色点画线,“y--p”表示黄色虚线并用五角星标记数据点。如果使用plot函数的数据参数为矩阵数据绘制多条曲线时,设置了图形样式,各曲线的样式将统一,一般不建议这样操作。
5、plot(x1,y1,'PropertyName',PropertyValue):
对绘制的图形属性进一步设置。其中PropertyName为曲线的属性名称,PropertyValue为属性的值,属性和属性值需要成对出现,且不同属性之间没有前后顺序关系。
二、plotyy():双y轴图形绘制(如果两组数据的数据范围相差较大,而又希望放在同一图形中比较分析,可以绘制双y轴图形。)
1、plotyy(x1,y1,x2,y2):
其中x1、y1和x2、y2分别为一组曲线。绘制的图形横坐标标度相同,纵坐标左右各有一个标度,左纵坐标对应x1、y1数据对,右纵坐标对应x2、y2数据对。
2、plotyy(x1,y1,x2,y2,'function'):
以“function”函数形式绘制双y轴形式,function可为任意可接收function(x,y)形式绘图的函数,可以是MATLAB系统自带的plot、semilogx、semilogy、loglog、stem函数或者用户自定义的函数。
3、plotyy(x1,y1,x2,y2,'function1','function2'):
曲线x1、y1以“function1”形式绘制,曲线x2、y2以“function2”形式绘制。
三、loglog():对数坐标图形的绘图(用于x、y轴均为对数的坐标系绘图)
1、loglog(y)
2、loglog(x1,y1)
3、loglog(x,y,LineSpec)
4、loglog(x,y,'PropertyName',PropertyValue)
例:
x=1:10:100;
loglog(x,exp(2*x));
四、semilogx() / semilogy():半对数坐标图形的绘制
1、semilogx():绘制x轴为对数坐标,y轴为线性坐标的二维图形。
2、semilogy():绘制y轴为对数坐标,x轴为线性坐标的二维图形。
以上函数主要用于离散数据的二维图形绘制。
五、fplot():符号函数的绘制
可以根据函数的表达式自动调整自变量的范围,无须给函数赋值,直接生成能反映函数变化规律的图形,在函数变化快的区域,采用小的间隔,否则采用大的坐标间,使绘制的图形计算量与时间最小,而又能尽可能精确反映图形的变化。fplot()函数一般在对横坐标取值间隔没有明确要求,仅查看函数的大致变化规律的情况下使用。
1、fplot('function',limits):
在指定的坐标值范围limits内绘制函数function的图形。其中limits是指定x轴范围的向量[xmin xmax]或同时指定x轴和y轴范围的向量[xmin xmax ymin ymax];函数function必须是一个包含y=f(x)的M文件或包含变量x,且能用函数eval计算的字符串。
2、fplot('function',limits,LineSpec):
LineSpec参数设置图形的线型、数据点的样式、颜色。
3、fplot('function',limits,err):
绘制函数function时允许的相对误差值为err,默认状态下相对误差的值为2e-3。
六、ezplot():符号函数的绘制
ezplot()函数与fplot函数的功能基本类似,可以方便地绘制表达式或函数的图形。与fplot函数不同的是函数的表达式显示在图形的上方,同时对坐标轴可不加任何限制做图。
1、ezplot(f):
绘制表达式或函数的图形,默认x轴的范围是[-2*pi,2*pi]。
2、ezplot(f,[min,max]):
设置绘图时x轴的范围。
3、ezplot(f,[xmin,xmax,ymin,ymax]):
同时设置绘图时x轴和y轴的范围。
七、Grid():图形栅格的控制(函数grid用于在二维或三维图形上控制坐标轴的栅格显示。)
1、grid on:给当前的坐标轴添加栅格。
2、grid off:取消当前的坐标轴中的栅格。
3、grid:图形栅格显示状态的切换。
八、Hold():图形保持的控制
图形窗口生成图形后,再生成下一幅图形的时候,会覆盖原图形,如果想保留原图形可以使用hold函数用于图形保持控制。
1、hold on:当前图形窗口中的图形处于保持状态,后续图形叠加在原有图形上。
2、hold off:关闭图形窗口中的图形保持状态,后续图形覆盖原有图形。
3、hold:在hold on与hold off之间转换。即在叠加与覆盖图形之间切换。
函数ishold用于测试图形的保持状态,返回值“1”表示图形处于叠加状态,“0”表示图形处于覆盖状态。
九、ginput():读点函数(用于交互式从MATLAB绘制的图形中读取点的坐标)
1、[x,y]=ginput(n):
用于交互式的通过鼠标读取图形中的点,返回点的横纵坐标值,其中x为点的横坐标值,y为点的纵坐标值,输入参数n为选择的点的个数,可以按“Enter”键提前结束读点操作。
2、[x,y]=ginput:
可以无限地读取图形中点的坐标直到按下“Enter”键。
3、[x,y,button]=ginput:
button值返回读点时的鼠标操作,其中“1”代表按下鼠标左键读点,“2”代表按下鼠标中键读点,“3”代表按下鼠标右键读点,通过不同鼠标按键的区别,可以对读取点进行分类。
十、zoom():图形缩放(用于对二维图形的缩放控制,放大或缩小会相应地改变坐标轴范围。)
1、zoom on:
打开图形的缩放功能,通过单击鼠标,可以放大图形,放大图形后要想缩小图形,需要按住“Shift”键,再单击鼠标键。
2、zoom off:
关闭交互式图形缩放功能。
3、zoom out:
将缩放后的图形恢复到原始状态。
4、zoom reset:
将当前图形的状态作为“原始态”,以后使用zoom out图形恢复到此状态。
5、zoom:
用于切换缩放的状态。
6、zoom xon:
仅对x轴进行图形缩放。
7、zoom yon:
仅对y轴进行图形缩放。
十一、saveas():图形保存(可以按照指定的格式保存图形)
1、saveas(gca,'filename','fileformat'):
其中gca指明保存当前的图形对象,filename为图形的文件名,可以为绝对路径下的文件名,或者直接为文件名,保存至当前路径下,fileformat保存的图形的文件类型,包括常见的多种图形格式:fig、eps、emf、png、jpg、tif等常用的图片格式类型,其中fig为Matlab默认图形文件类型,保存为该格式后,下次打开后可以直接编辑修改。
十二、print():图形打印(可用于打印图形窗口的图形,必须紧跟在函数plot()后使用)
1、print filename:命令中“filename”为打印的图形文件文件名。
2、print -dformat:命令中“dformat”为打印的图形文件的存储格式。
3、print ...-option:命令中“option”设置打印的图形文件的参数。
类函数
1、Link类函数
基于DH法建模,建立其相关关系,DH法建模分改进型和标准型,Link类函数的一种用法是 R = Link([theta,d,a, alpha]),其中参数theta代表DH建模的关节角、参数d代表DH建模的连杆偏距、参数a代表DH建模的连杆长度、参数alpha代表DH建模的连杆转角。
例:
L(1) = Link('d', d(1), 'a', a(1), 'alpha', alp(1));
属性:
(1)R.RP:可以用来获取连杆关节类型 R:转动关节,P:移动关节
(2)R.theta:可以用来获取连杆关节角
(3)R.d:可以用来获取连杆偏距
(4)R.a:可以用来获取连杆长度
(5)R.alpha:可以用来获取连杆扭转角
(6)R.sigma:也可以用来查询我们建立的是转动关节还是移动关节,默认0是转动关节; 1是移动关节
(7)R.mdh:可以用来查询我们是按照标准DH法建立的还是按改进型DH法建立的模型,默认0为标准D-H法,1为改进D-H法
2、Seriallink类函数
可以把我们使用Link函数建立的连杆连成一个整体,生成一个串联机械臂
例:
L(1) = Link('d', d(1), 'a', a(1), 'alpha', alp(1));
L(2) = Link('d', d(2), 'a', a(2), 'alpha', alp(2), 'offset', 0);
L(3) = Link('d', d(3), 'a', a(3), 'alpha', alp(3), 'offset', 0);
L(4) = Link('d', d(4), 'a', a(4), 'alpha', alp(4), 'offset', 0);
L(5) = Link('d', d(5), 'a', a(5), 'alpha', alp(5));
L(6) = Link('d', d(6), 'a', a(6), 'alpha', alp(6));
bot = SerialLink(L,'name','rbt');%将六个连杆组合起来
使用bot = SerialLink(L,'name','rbt');就可以将其连成一个整体生成一个六周的串联机械臂,并取名为bot(名字可以任意取);加个modified表示用改进型DH法建模。
属性:
Properties (可读参数):
n 关节自由度
config 机械臂配置字符串
mdh DH约定形式布尔值
theta DH参数
d DH参数
a DH参数
alpha DH参数
Properties (可读可写参数):
links 连杆对象的矢量 (1xN)
gravity 重力方向[gx gy gz]
base 机器人基座的姿态 (4x4 homog xform)
tool 机器人工具坐标系转换 (4x4 homog xform)
qlim 关节极限[qmin qmax] (Nx2)
offset 运动关节坐标偏移 (Nx1)
name 机器人的名称(用于图形显示)
manuf 注释
comment 注释
plotopt plot()方法的选项(单元格数组)
fast 使用MEX版本的RNE(只有当mex文件存在时才能设置为true。默认为true)
3、
使用.display显示出我们建立的这个机械臂模型的信息
bot.display
使用.teach查看我们建立机械臂三维模型,可以对关节变量的值进行修改
bot.teach
使用.plot来查看在指定某组关节变量的机械臂三维模型,在使用.plot时,需要指定各关节变量的值
bot.plot
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)