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

目前,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应用不限于学术研究,对抽象的数学系统、具体的物理对象都可进行模型化表示,基于模型控制系统模型还能够应用于嵌入式硬件,通常的流程是系统及功能设计–>仿真—>代码自动生成—>连续测试—>实机运行等。