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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/115918.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++笔记之关于函数名前的取址符

C笔记之关于函数名前的取址符 相关博文:C之指针探究(十一):函数名的本质和函数指针 code review! 文章目录 C笔记之关于函数名前的取址符一.函数名可以被视为指向函数的地址二.sayHello和&sayHello是不是等同?三.Qt信号与槽中的取地址符& 一…

2023全新小程序广告流量主奖励发放系统源码 流量变现系统

2023全新小程序广告流量主奖励发放系统源码 流量变现系统 分享软件,吃瓜视频,或其他资源内容,通过用户付费买会员来变现,用户需要付费,有些人喜欢白嫖,所以会流失一部分用户,所以就写了这个系统…

【2024秋招】2023-9-14 最右后端开发线下一面

1 自我介绍 2 计算机网络 2.1 说说你对tcp滑动窗口的理解 TCP 滑动窗口是 TCP 协议流量控制的一个重要机制。它的主要目的是确保发送方不会因为发送太多数据而使接收方不堪重负。下面我会详细地描述滑动窗口的概念: 窗口的大小: 滑动窗口的大小&#…

Node编写用户登录接口

目录 前言 服务器 编写登录接口API 使用sql语句查询数据库中是否有该用户 判断密码是否正确 生成JWT的Token字符串 配置解析token的中间件 配置捕获错误中间件 完整的登录接口代码 前言 本文介绍如何使用node编写登录接口以及解密生成token,如何编写注册接…

关于 硬盘

关于 硬盘 1. 机械硬盘1.1 基本概念1.2 工作原理1.3 寻址方式1.4 磁盘磁记录方式 2. 固态硬盘2.1 基本概念2.2 工作原理 1. 机械硬盘 1.1 基本概念 机械硬盘即是传统普通硬盘,硬盘的物理结构一般由磁头与盘片、电动机、主控芯片与排线等部件组成。 所有的数据都是…

利用dns协议发起ddos反射攻击

利用DNS服务器发起反射型DDOS,攻击带宽 基本思路: 1、利用any类型的dns查询,可完成发送少量请求数据,获得大量返回数据。 2、将原请求地址改为受害者地址,则dns会向受害者返回大量数据,占用带宽 警告&…

c# ManualResetEvent WaitHandle 实现同步

//本文演示了ManualResetEvent 类的非静态set()、Reset()、WaitOne()和 //WaitHandle类的静态方法WaitAllWaitAll() //它们用于线程间的同步控制。 //实现了如下功能:线程1(定时控制)通知线程2和线程3采集数据 //线程2和3数据采集完了&am…

QCC 音频输入输出

QCC 音频输入输出 QCC蓝牙芯片(QCC3040 QCC3083 QCC3084 QCC5181 等等)支持DAC、I2S、SPDIF输出,AUX、I2S、SPDIF、A2DP 输入 蓝牙音频输入,模拟输出是最常见的方式。 也可以再此基础上动态切换输入方式。 输入方式切换参考 sta…

POJ 3470 Walls 树上分桶

今天太晚了&#xff0c;代码先发上&#xff0c;思路明天说吧。 陌上花开&#xff0c;树上分桶 #include <iostream> #include <algorithm> #include <vector> using namespace std; /*** 对于y1不等于y2的&#xff0c;可以用datC求解&#xff0c;对于x1不等…

AD9371 官方例程HDL详解之JESD204B TX侧时钟生成 (一)

AD9371 系列快速入口 AD9371ZCU102 移植到 ZCU106 &#xff1a; AD9371 官方例程构建及单音信号收发 ad9371_tx_jesd -->util_ad9371_xcvr接口映射&#xff1a; AD9371 官方例程之 tx_jesd 与 xcvr接口映射 梳理 AD9371 时钟&#xff0c;理解采样率和各个时钟之间的关系 …

linux nginx1.24.0安装

nginx高性能web服务器&#xff0c;可作为一般http应用转发&#xff0c;也可以做mySql、redis、zk、rabbit MQ等tcp数据流转发。 常用Linux服务系统centos和ububtu 只是安装命令不同 yum/apt-get&#xff0c;流程和依赖包是一样的安装方式 1、下载nginx安装包tar.gz官方下载地…

RabbitMQ基础篇 笔记

RabbitMQ 余额支付 同步调用 一步一步的来&#xff0c;支付业务写完后&#xff0c;如果之后加需求&#xff0c;还需要增加代码&#xff0c;不符合开闭原则。 性能上也有问题&#xff0c;openfeign是同步调用&#xff0c;性能太差。 同步调用耦合太多。 同步的优势是可以立…

网站、小程序常见布局样式记录

文章目录 &#x1f380;前言&#xff1a;&#x1f415;网页样式展示小程序&#xff1a;《携程网》&#x1f380;持续更新... &#x1f380;前言&#xff1a; 本篇博客会收藏一些作者见到的网页、小程序页面&#xff0c;目的是用来寻找制作项目网页页面的灵感&#xff0c;有需要…

mysql第一篇---索引

文章目录 mysql第一篇---索引索引的数据结构为什么使用索引&#xff1f;索引的及其优缺点InnoDB中索引的推演常见的索引概念InnoDB的B树索引的注意事项MyISAM中索引方案索引的代价MySQL数据结构选择的合理性 mysql第一篇—索引 索引的数据结构 为什么使用索引&#xff1f; 索…

修炼k8s+flink+hdfs+dlink(六:学习k8s-pod)

一&#xff1a;增&#xff08;创建&#xff09;。 直接进行创建。 kubectl run nginx --imagenginx使用yaml清单方式进行创建。 直接创建方式&#xff0c;并建立pod。 kubectl create deployment my-nginx-deployment --imagenginx:latest 先创建employment&#xff0c;不…

华为OD 高效的任务规划(200分)【java】A卷+B卷

华为OD统一考试A卷+B卷 新题库说明 你收到的链接上面会标注A卷还是B卷。目前大部分收到的都是B卷。 B卷对应20022部分考题以及新出的题目,A卷对应的是新出的题目。 我将持续更新最新题目 获取更多免费题目可前往夸克网盘下载,请点击以下链接进入: 我用夸克网盘分享了「华为O…

紫光展锐携中国联通完成RedCap芯片V517孵化测试

近日&#xff0c;紫光展锐携手中国联通5G物联网OPENLAB开放实验室&#xff08;简称“OPENLAB实验室”&#xff09;共同完成RedCap芯片V517创新孵化&#xff0c;并实现在联通5G全频段3.5GHz、2.1GHz、900MHz下的端到端业务验证测试。 V517是一款基于紫光展锐5G成熟平台设计与研发…

oninput和onchange事件有什么区别以及使用场景

oninput和onchange都是常见的表单元素的事件&#xff0c;它们的区别在于触发的时机不同。 oninput事件会在表单元素的值发生变化时立刻触发&#xff0c;无论是通过键盘输入、粘贴、剪切、拖拽等方式&#xff0c;都能实时响应。比如&#xff1a; <input type"text&quo…

Java反射实体组装SQL

之前在LIS.Core定义了实体特性&#xff0c;在LIS.Model给实体类加了表特性&#xff0c;属性特性&#xff0c;外键特性等。ORM要实现增删改查和查带外键的父表信息就需要解析Model的特性和实体信息组装SQL来供数据库驱动实现增删改查功能。 实现实体得到SQL的工具类&#xff0c…

DOS攻击-ftp_fuzz.py

搭建FTP 使用AlphaFuzzer的FTPFUSS进行攻击 挖掘漏洞&#xff0c;自动用特殊字符看能不能把服务器崩掉 这些都是测试的目录 不能随意使用&#xff0c;可能会把C盘内容清掉 也可以自己写脚本测试下