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函数建立的连杆连成一个整体,生成一个串联机械臂

例:

cpp 复制代码
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显示出我们建立的这个机械臂模型的信息
cpp 复制代码
bot.display
使用.teach查看我们建立机械臂三维模型,可以对关节变量的值进行修改
cpp 复制代码
bot.teach
使用.plot来查看在指定某组关节变量的机械臂三维模型,在使用.plot时,需要指定各关节变量的值
cpp 复制代码
bot.plot
相关推荐
Eiceblue1 小时前
【免费.NET方案】CSV到PDF与DataTable的快速转换
开发语言·pdf·c#·.net
tan180°2 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
m0_555762902 小时前
Matlab 频谱分析 (Spectral Analysis)
开发语言·matlab
浪裡遊3 小时前
React Hooks全面解析:从基础到高级的实用指南
开发语言·前端·javascript·react.js·node.js·ecmascript·php
彭祥.3 小时前
Jetson边缘计算主板:Ubuntu 环境配置 CUDA 与 cudNN 推理环境 + OpenCV 与 C++ 进行目标分类
c++·opencv·分类
lzb_kkk3 小时前
【C++】C++四种类型转换操作符详解
开发语言·c++·windows·1024程序员节
好开心啊没烦恼4 小时前
Python 数据分析:numpy,说人话,说说数组维度。听故事学知识点怎么这么容易?
开发语言·人工智能·python·数据挖掘·数据分析·numpy
简佐义的博客4 小时前
破解非模式物种GO/KEGG注释难题
开发语言·数据库·后端·oracle·golang
程序员爱钓鱼4 小时前
【无标题】Go语言中的反射机制 — 元编程技巧与注意事项
开发语言·qt