当前位置: 首页 > news >正文

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

相关文章:

matlab常用函数

绘图函数 一、plot():二维图形绘制 1、plot(y): 对于只含一个输入参数的plot函数,如果输入参数y为向量,则以该参数为纵坐标,横坐标从1开始至与向量的长度相等;如果输入参数y是矩阵时,则按列绘…...

Python配置镜像源

Python3安装pika的准备 Windows下配置镜像源可以按照如下操作。 1.winR执行%APPDATA% %APPDATA%后,创建pip文件夹,并创建pip.ini配置文件 查看此目录下是否有pip目录,如果没有则需要创建,并在pip目录下以文本方式添加pip.ini文件…...

Linux防火墙Centos6的常用命令iptables

文章目录 一、iptables基础知识二、作者玩玩的配置文件三、iptables中常用的参数以及作用-j参数的动作类型 四、安装iptables五、iptables启动命令六、iptables命令结构命令例子默认执行方式执行iptables命令和写入配置文件两种方式的对比 相对常用的命令参考文档 一、iptables…...

python中的贪心算法-求顾客的最小的等待时间

一. 设有n个顾客同时等待一项服务。顾客i需要的服务时间为ti(1<i<n)。如何安排n个顾客的服务次序才能使顾客总的等待时间达到最小? nint(input(请输入顾客的位数: ))times[] for i in range(n):timeint(input(f请输入顾客{i1}的服务时间: ))times.append(time) times.so…...

【JAVA springframework.http】如何发送HTTP请求

Springboot之restTemplate https://blog.csdn.net/weixin_43702146/article/details/116567707 public Result doHandlePostJson(String restUri, String jsonData)throws Exception {Result result null;try {// logger记录log.info("doHandlePostJson request restUr…...

字符串反转(Python)

1. 整体流程 为了实现递归反转n个字符串的功能&#xff0c;我们可以按照以下步骤进行操作&#xff1a; 步骤动作1定义递归函数2判断递归结束条件3处理递归函数的基本情况4调用递归函数&#xff0c;递归处理子问题5返回递归结果 我将详细解释每一步的具体操作&#xff0c;并提…...

驱动开发day4

通过字符设备驱动的分步实现编写LED驱动&#xff0c;另外实现设备文件和驱动的绑定 head.h #ifndef __HEAD_H__ #define __HEAD_H__ typedef struct {unsigned int MODER;unsigned int OTYPER;unsigned int OSPEEDR;unsigned int PUPDR;unsigned int IDR;unsigned int ODR; }…...

Flink之Window窗口机制

窗口Window机制 窗口概述窗口的分类是否按键分区按键分区窗口非按键分区 按照驱动类型按具体分配规则滚动窗口Tumbling Windows滑动窗口 Sliding Windows会话窗口 Session Windows全局窗口 Global Windows 时间语义窗口分配器 Window Assigners时间窗口计数窗口例子 窗口函数 W…...

【C++】继承 ⑧ ( 继承 + 组合 模式的类对象 构造函数 和 析构函数 调用规则 )

文章目录 一、继承 组合 模式的类对象 构造函数和析构函数调用规则1、场景说明2、调用规则 二、完整代码示例分析1、代码分析2、代码示例 一、继承 组合 模式的类对象 构造函数和析构函数调用规则 1、场景说明 如果一个类 既 继承了 基类 ,又 在类中 维护了一个 其它类型 的…...

Spark内核调度

目录 一、DAG &#xff08;1&#xff09;概念 &#xff08;2&#xff09;Job和Action关系 &#xff08;3&#xff09;DAG的宽窄依赖关系和阶段划分 二、Spark内存迭代计算 三、spark的并行度 &#xff08;1&#xff09;并行度设置 &#xff08;2&#xff09;集群中如何规划并…...

STM32串口

前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 目前已经学习了GPIO的输入输出&#xff0c;但是没有完整的显示信息&#xff0c;最便宜的显示就是串口。 000 -111 AVR单片机 已经学会过了&#xff0c; 提示&#xff1a;以下是本篇文章正文内容&#x…...

解决使用WebTestClient访问接口报[185c31bb] 500 Server Error for HTTP GET “/**“

解决使用WebTestClient访问接口报[185c31bb] 500 Server Error for HTTP GET "/**" 问题发现问题解决 问题发现 WebTestClient 是 Spring WebFlux 框架中提供的用于测试 Web 请求的客户端工具。它可以不用启动服务器&#xff0c;模拟发送 HTTP 请求并验证服务器的响…...

Windows安装virtualenv虚拟环境

需要先安装好python环境 1 创建虚拟环境目录 还是在D:\Program\ 的文件夹新建 .env 目录&#xff08;你也可以不叫这个名字&#xff0c;一般命名为 .env 或者 .virtualenv &#xff0c;你也可以在其他目录中创建&#xff09; 2 配置虚拟环境目录的环境变量 3 安装虚拟环境 进…...

掌握Go类型内嵌:设计模式与架构的新视角

一、引言 在软件开发中&#xff0c;编程语言的类型系统扮演着至关重要的角色。它不仅决定了代码的结构和组织方式&#xff0c;还影响着软件的可维护性、可读性和可扩展性。Go语言&#xff0c;在被广泛应用于云原生、微服务和并发高性能系统的同时&#xff0c;也因其简单但强大…...

MySQL -- 库和表的操作

MySQL – 库和表的操作 文章目录 MySQL -- 库和表的操作一、库的操作1.创建数据库2.查看数据库3.删除数据库4.字符集和校验规则5.校验规则对数据库的影响6.修改数据库7.备份和恢复8.查看连接情况 二、表的操作1.创建表2.查看表结构3.修改表4.删除表 一、库的操作 注意&#xf…...

JAVAEE初阶相关内容第十五弹--网络編程

写在前 简单描述一下关于路由器的三层转发和交换机的二层转发。 路由器是三层转发-->在网络层转发。【需要解析出IP协议中的源IP、目的IP来规划路径】 交换机是二层转发-->在数据链路层转发。【只需要关注下一步发展到哪个相邻的设备上&#xff0c;不需要IP地址&#…...

ChatGPT/GPT4科研技术与AI绘图及论文高效写作

2023年我们进入了AI2.0时代。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义&#xff0c;不亚于互联网和个人电脑的问世。360创始人周鸿祎认为未来各行各业如果不能搭上这班车&#xff0c;就有可能被淘汰在这个数字化时代&#xff0c;如何能高效地处理文本、文献查阅、PPT…...

机器学习笔记 - 特斯拉的占用网络简述

一、简述 ​ 2022 年,特斯拉宣布即将在其车辆中发布全新算法。该算法被称为occupancy networks,它应该是对Tesla 的HydraNet 的改进。 自动驾驶汽车行业在技术上分为两类:基于视觉的系统和基于激光雷达的系统。后者使用激光传感器来确定物体的存在和距离,而视觉系统…...

Elesticsearch使用总结

写在前面 ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎&#xff0c;基于RESTful web接口。Elasticsearch是用Java开发的&#xff0c;并作为Apache许可条款下的开放源码发布&#xff0c;是当前流行的企业级搜索引擎。设计用于[云计…...

Node.js--》简易资金管理系统后台项目实战(后端)

今天开始使用 node vue3 ts搭建一个简易资金管理系统的前后端分离项目&#xff0c;因为前后端分离所以会分两个专栏分别讲解前端与后端的实现&#xff0c;后端项目文章讲解可参考&#xff1a;前端链接&#xff0c;我会在前后端的两类专栏的最后一篇文章中会将项目代码开源到我…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...

Redis:现代应用开发的高效内存数据存储利器

一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发&#xff0c;其初衷是为了满足他自己的一个项目需求&#xff0c;即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源&#xff0c;Redis凭借其简单易用、…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)

目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 &#xff08;1&#xff09;输入单引号 &#xff08;2&#xff09;万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...

6️⃣Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙

Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙 一、前言:离区块链还有多远? 区块链听起来可能遥不可及,似乎是只有密码学专家和资深工程师才能涉足的领域。但事实上,构建一个区块链的核心并不复杂,尤其当你已经掌握了一门系统编程语言,比如 Go。 要真正理解区…...