草庐IT

MATLAB及Simulink----基本知识简介

临风暖阳 2023-10-08 原文

目前,MATLAB已成为国际上最为流行的科学计算与工程计算软件工具之一,如今的MATLAB已经不仅仅是矩阵运算或数值计算的软件,它已经发展成为一种具有广泛应用前景、全新的计算机高级编程语言,可以说它是“第四代”计算机语言。
自20世纪90年代,美国和欧洲的各个大学将MATLAB正式列入研究生和本科生的教材计划,MATLAB软件已经成为数值计算、数理统计、数字信号处理、自动控制、时间序列分析、动态系统仿真等课程的基本教学工具,成为学生必须掌握的基本软件之一。在研究单位和工业界,MATLAB也成为工程师们必须掌握的一种工具,被认为是进行高效研究与开发的首选软件工具。

1.1.2 MATLAB的主要特点

1.编程效率高

MATLAB允许使用数学形式的语言编写程序,而且比Basic、Fortran和C等语言更加接近人们书写计算公式的思维方式,用MATLAB编写程序犹如在演算纸上排列出公式与求解问题。因此,MATLAB语言也可通俗地称为演算纸式科学算法语言。

2.使用方便 

MATLAB语言把编辑、编译、连接和执行融为一体,其调试程序手段丰富,调试速度快 ,需要学习时间少。

3.扩充能力强

用户可以根据自己的需要方便地建立和扩充新的库函数,以便提高MATLAB使用效率和扩充它的功能。

4.语句简单,内涵丰富

MATLAB的库函数功能丰富,大大减少了需要的磁盘空间,MATLAB编写的M文件简单而高效。

5.高效方便的矩阵和数组运算

MATLAB语言规定了矩阵的一系列运算符,它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,体现出简捷、高效、方便的优势。

6.方便的绘图功能

MATLAB有一系列的绘图函数,例如线性坐标、对数坐标、半对数坐标及极坐标等,均只需调用不同的绘图函数,在图上标出图题、坐标轴标注、网格线的绘制等也只需调用相应的命令,简单易行。

7.极好的开放性

除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的函数文件来构成新的工具箱。
MATLAB系统由五大部分构成:

1.MATLAB开发环境

 MATLAB开发环境包括MATLAB桌面、命令行窗口、M文件编辑调试器,MATLAB工作区和在线帮助文档等。

2.MATLAB数学函数库

 MATLAB数学函数库包括了大量的计算算法,从基本运算到复杂算法,体现了其强大的数学计算功能。

3.MATLAB语言

 MATLAB语言是一个高级的基于矩阵和数组的语言。用户既可以用它来快速编写简单的程序,也可以用它来编写大型复杂的程序。

4.MATLAB图形处理系统

 图形处理系统使得MATLAB能方便地图形化显示矩阵和向量,而且能对图形添加标注和打印。它包括强力的二维及三维图形函数、图像处理和动画显示等函数。

5.MATLAB程序接口

 MATLAB程序接口可以使MATLAB方便地调用C和Fortran程序,以及在MATLAB与其它应用程序之间建立客户/服务器关系。

1.4.1 菜单和工具栏

包含了下述功能:
(1)新建脚本:用于建立新的.m脚本文件,也可以通过快捷键Ctrl+N来完成。
(2)新建:用于建立新的.m文件、函数、示例、模型、图形和图形用户界面。
(3)打开:用于打开MATLAB的.m文件、.fig文件、.mdl文件、.mat文件、.ssc文件等,也可以通过快捷键Ctrl+O来实现这个操作。
(4)查找文件:基于文件名称或内容搜索文件。
(5)比较:比较两个文件的内容。
(6)导入数据:用于从其它文件导入数据,单击后弹出对话框,选择导入文件的路径和位置。

(7)保存工作区:用于把工作区的数据存放到相应的路径文件中。
(8)分析代码:分析当前文件夹中的MATLAB代码文件,查找效率低下编码和潜在的错误。
(9)Simulink库:打开Simulink模块库。
(10)预设:用于设置命令行窗口的属性。
(11)布局:提供工作界面上各个组件的显示选项,并提供预设的布局。
(12)帮助:打开帮助文件或其它帮助方式。

1.4.2 命令行窗口

MATLAB的命令行窗口是MATLAB最主要的窗口,它实现了MATLAB的交互性。命令行窗口是用户使用MATLAB进行工作的窗口,同时也是实现MATLAB各种功能的窗口。用户可以直接在MATLAB命令行窗口内输入命令和得到除图形以外的执行结果的显示。该窗口中的“>>”是命令提示符,表示MATLAB处于准备状态,等待用户输入指令进行计算。在此符后输入命令,按Enter键,执行命令。

【例1-4-1】计算
(1)用键盘在MATLAB命令窗中输入以下内容

(12+2*(7-4))/3^2
(2)在上述表达式输入完成后,按【Enter】键,该指令被执行。
(3)在指令执行后,MATLAB指令窗中将显示以下结果。
ans =
2

图1-9 在命令行窗口里的计算

说明:1、“ans”是MATLAB的一个默认变量,用户也可将表达式的值赋值给某个变量如a。
2、可以输入多条命令,这时各命令间要以逗号或分号隔开。
3、当输入命令的语句过长,需要两行或多行才能输入,则要使用“…”作连接符号,按回车键转入下一行继续输入。
4、在默认情况下,命令行窗口中各字符的颜色:关键字采用蓝色;字符串采用褐红色;命令、表达式和运行结果采用黑色。
5、单击命令行窗口右上角的下三角图标并选择“取消停靠”可以使命令行窗口脱离MATLAB界面成为一个独立的窗口;选择独立命令行窗口右上角的下三角形图标并选择“停靠”,可以使命令行窗口再次回到MATLAB主界面。
1.4.3 工作区
工作区窗口显示当前的内存中所有的MATLAB变量的变量名、数据结构、字节数及数据类型等信息,如图1-10所示。不同变量类型分别对应不同的变量名图标。
可以选中已有变量,单击鼠标右键对其进行各种操作,工作界面的菜单和工具栏上也有相应的命令供用户使用。
新建变量:向工作区添加新的变量。
导入数据:向工作区导入数据文件。
保存工作区:保存工作区中的变量。
清除工作区:删除工作区中的变量。

1.5.2 帮助命令

 MATLAB中的各个函数,不管是内建函数还是M文件函数一般都有M文件的使用帮助和函数功能说明,各个工具箱也有一个与其名称相同的M说明文件。MATLAB的帮助命令包括help、lookfor、which、doc、get、type等。

1、help命令

在命令行窗口中直接输入help命令将会显示当前帮助系统中所包含的所有项目,即搜索路径中所有的目录名称。同样,可以通过help加函数名来显示该函数的帮助说明。

【例1-5-1】了解tanh函数的使用方法。
在命令行窗口中输入如下命令:
help tanh
得到结果:
tanh - Hyperbolic tangent
This MATLAB function returns the hyperbolic tangent of each element of X.
Y = tanh(X)
tanh 的参考页,另请参阅 atan, atan2, atanh, cosh, sinh, tan,名为 tanh 的其它函数,symbolic/tanh

2、lookfor命令

help命令只搜索出那些关键字完全匹配的结果,lookfor命令对搜索范围内的M 文件进行关键字搜索。lookfor命令只对M 文件的第一行进行关键字搜索。若在lookfor命令加上-all选项,则可对M文件进行全文搜索。

3、模糊查询

MATLAB5.0以上的版本提供了一种类似模糊查询的命令查询方法,用户只需要输入命令的前几个字母,然后按Tab键,系统就会列出所有以这几个字母开头的命令。
1.5.3 演示系统(Demos)
选择MATLAB主界面菜单栏上的帮助下的示例命令,或者在命令行窗口输入Demos,都可以打开如图1.12所示的演示系统。从图中可以看到,演示窗口的左侧是库目录,里面有“Language Fundamentals” 、“mathematics”、“Graphic”等的演示,右边是相对该库中各项目的名称。

1.6.1 通用命令和编辑键

1.通用命令

 在MATLAB中,除了可以通过菜单命令对工作窗口进行控制外,用户还可以在MATLAB命令行窗口中直接键入控制命令并执行。书中表1-1给出了部分常用的通用命令及其功能说明。

2.一些常用的编辑键

 为便于在MATLAB命令行窗口中对输入的内容进行编辑,MATLAB提供了一些控制光标位置和进行简单编辑的常用编辑键和组合键,其命令和用法如书中表1-2所示。

1.6.2 文件管理

 MATLAB提供了一组文件管理命令,包括文件名、显示或删除文件、显示或改变当前目录等,相关的命令及其功能如书中表1-3所示。
 实例:

(1)双击桌面上的MATLAB图标,进入MATLAB的主界面。
(2)在命令行窗口中输入“x=exp(1/pi)”按回车键,可以在工作窗口看到变量x大小为1.3748。
x=exp(1/pi)
x =
1.3748
(3)在命令行窗口中输入“y=sin(x^2)”,按回车键,可以在工作窗口看到变量y大小为0.9495。
y=sin(x^2)
y =
0.9495
Simulink提供了一个动态系统建模、仿真和综合分析的集成环境,是MATLAB最重要的组件之一。能够描述线性系统、非线性系统,能够支持单速率或多速率任务,并可以对连续系统、离散系统或者混合系统建模与仿真。Simulink以模块为功能单位,通过信号线进行连接,用户通过GUI调配每个模块的参数,仿真的结果以数值和图像等形象化方式具体出来。Simulink是一个模块化图形环境,其特点在于提供了一个图形化的设计界面,供用户自定义模块库,广泛用于生物、图像、音频、航空航天和嵌入式设计等各个方面。这些模块的运行依托于Simulink的解算器,融合了多种经典的数值分析思想和算法。更令人满意的是,Simulink完全无缝地融合到MATLAB大环境中,使用M语言即可进行模型的创建、模型的仿真、属性的设置、不同工作空间之间的数据传递,并进行绘图与分析。
Simulink应用不限于学术研究,对抽象的数学系统、具体的物理对象都可进行模型化表示,基于模型控制系统模型还能够应用于嵌入式硬件,通常的流程是系统及功能设计–>仿真—>代码自动生成—>连续测试—>实机运行等。

有关MATLAB及Simulink----基本知识简介的更多相关文章

  1. Matlab imread()读到了什么 (浅显 当复习文档了) - 2

    matlab打开matlab,用最简单的imread方法读取一个图像clcclearimg_h=imread('hua.jpg');返回一个数组(矩阵),往往是a*b*cunit8类型解释一下这个三维数组的意思,行数、数和层数,unit8:指数据类型,无符号八位整形,可理解为0~2^8的数三个层数分别代表RGB三个通道图像rgb最常用的是24-位实现方法,即RGB每个通道有256色阶(2^8)。基于这样的24-位RGB模型的色彩空间可以表现256×256×256≈1670万色当imshow传入了一个二维数组,它将以灰度方式绘制;可以把图像拆分为rgb三层,可以以灰度的方式观察它figure(1

  2. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  3. MIMO-OFDM无线通信技术及MATLAB实现(1)无线信道:传播和衰落 - 2

     MIMO技术的优缺点优点通过下面三个增益来总体概括:阵列增益。阵列增益是指由于接收机通过对接收信号的相干合并而活得的平均SNR的提高。在发射机不知道信道信息的情况下,MIMO系统可以获得的阵列增益与接收天线数成正比复用增益。在采用空间复用方案的MIMO系统中,可以获得复用增益,即信道容量成倍增加。信道容量的增加与min(Nt,Nr)成正比分集增益。在采用空间分集方案的MIMO系统中,可以获得分集增益,即可靠性性能的改善。分集增益用独立衰落支路数来描述,即分集指数。在使用了空时编码的MIMO系统中,由于接收天线或发射天线之间的间距较远,可认为它们各自的大尺度衰落是相互独立的,因此分布式MIMO

  4. 计算机毕业设计ssm+vue基本微信小程序的小学生兴趣延时班预约小程序 - 2

    项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU

  5. HBase Region 简介和建议数量&大小 - 2

    Region是HBase数据管理的基本单位,region有一点像关系型数据的分区。region中存储这用户的真实数据,而为了管理这些数据,HBase使用了RegionSever来管理region。Region的结构hbaseregion的大小设置默认情况下,每个Table起初只有一个Region,随着数据的不断写入,Region会自动进行拆分。刚拆分时,两个子Region都位于当前的RegionServer,但处于负载均衡的考虑,HMaster有可能会将某个Region转移给其他的RegionServer。RegionSplit时机:当1个region中的某个Store下所有StoreFile

  6. ruby-on-rails - 使用 HTTParty 的非常基本的 Rails 4.1 API 调用 - 2

    Rails相对较新。我正在尝试调用一个API,它应该向我返回一个唯一的URL。我的应用程序中捆绑了HTTParty。我已经创建了一个UniqueNumberController,并且我已经阅读了几个HTTParty指南,直到我想要什么,但也许我只是有点迷路,真的不知道该怎么做。基本上,我需要做的就是调用API,获取它返回的URL,然后将该URL插入到用户的数据库中。谁能给我指出正确的方向或与我分享一些代码? 最佳答案 假设API为JSON格式并返回如下数据:{"url":"http://example.com/unique-url"

  7. ruby-on-rails - Rails 基本 Base64 身份验证 - 2

    我正在尝试复制此GETcurl请求:curl-D--XGET-H"Authorization:BasicdGVzdEB0YXByZXNlYXJjaC5jb206NGMzMTg2Mjg4YWUyM2ZkOTY2MWNiNWRmY2NlMTkzMGU="-H"Content-Type:application/json"http://staging.example.com/api/v1/campaigns在Ruby中,通过电子邮件+apikey生成身份验证:auth="Basic"+Base64::encode64("test@example.com:4c3186288ae23fd9661c

  8. ruby - 我怎样才能更好地了解/了解更多关于 Ruby 的知识? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我最近开始学习Ruby,这是我的第一门编程语言。我对语法感到满意,并且我已经完成了许多只教授相同基础知识的教程。我已经写了一些小程序(包括我自己的数组排序方法,在有人告诉我谷歌“冒泡排序”之前我认为它非常聪明),但我觉得我需要尝试更大更难的东西来理解更多关于Ruby.关于如何执行此操作的任何想法?

  9. 建模分析 | 平面2R机器人(二连杆)运动学与动力学建模(附Matlab仿真) - 2

    目录0专栏介绍1平面2R机器人概述2运动学建模2.1正运动学模型2.2逆运动学模型2.3机器人运动学仿真3动力学建模3.1计算动能3.2势能计算与动力学方程3.3动力学仿真0专栏介绍?附C++/Python/Matlab全套代码?课程设计、毕业设计、创新竞赛必备!详细介绍全局规划(图搜索、采样法、智能算法等);局部规划(DWA、APF等);曲线优化(贝塞尔曲线、B样条曲线等)。?详情:图解自动驾驶中的运动规划(MotionPlanning),附几十种规划算法1平面2R机器人概述如图1所示为本文的研究本体——平面2R机器人。对参数进行如下定义:机器人广义坐标

  10. ABB-IRB-1200运动学分析MATLAB RVC工具分析+Simulink-Adams联合仿真 - 2

    一、机器人介绍        此处是基于MATLABRVC工具箱,对ABB-IRB-1200型号的微型机械臂进行正逆向运动学分析,并利Simulink工具实现对机械臂进行具有动力学参数的末端轨迹规划仿真,最后根据机械模型设计Simulink-Adams联合仿真。 图1.ABBIRB 1200尺寸参数示意图ABBIRB 1200提供的两种型号广泛适用于各作业,且两者间零部件通用,两种型号的工作范围分别为700 mm 和 900 mm,大有效负载分别为 7 kg 和5 kg。 IRB 1200 能够在狭小空间内能发挥其工作范围与性能优势,具有全新的设计、小型化的体积、高效的性能、易于集成、便捷的接

随机推荐