MathWorks 及其产品
MathWorks 公司创立于 1984 年,总部位于美国马萨诸塞州内迪克,是提供数学计算软件的供应商,其旗下的产品包括 MATLAB 产品家族、Simulink 产品家族、PolySpace 产品家族。
MATLAB 是 MATrix LABoratory
即矩阵实验室的缩写,是由美国 MathWorks 公司开发的专业工程与科学计算软件,是一个集科学计算、数值分析、矩阵计算、数据可视化及交互式程序设计于一体的计算环境,形成一个易于使用的视窗环境。
MATLAB 执行由 MATLAB 语言编写的程序,同时提供丰富的预定义函数库,可以简化编程过程,提高编程效率。
MATLAB 有很多自带的功能强大的工具,如:
- 各类工具箱
- 编辑器/调试器
- 工作空间浏览器
- 帮助浏览器
- GUI 设计工具
- 历史命令浏览器
MATLAB 语言是一种过程化的程序设计语言。
MATLAB 提供了自己的编译器,全面兼容 C++ 及 Fortran 两大语言。
MATLAB 包含两部分:核心部分和各种可选的工具箱。核心部分有数百个核心内部函数。其工具箱又分为两类:功能性工具箱和学科性工具箱。
除内部函数外,MATLAB 的所有核心文件和工具箱文件都是可读可写的源文件,用户可通过对源文件进行修改及加入自己的文件构成新的工具箱。
Simulink 是一个用于对动态系统进行多域建模和模型设计的平台。
PolySpace 提供代码验证,可确保消除源代码中的溢出、除零、数组访问越界及其他运行错误。此类产品可以证明源代码中不存在某些运行错误,使工程师能够选择并跟踪嵌入式软件质量的指标和阈值,帮助软件团队更好地定义质量目标,并更快地实施。
MATLAB 系统的组成
MATLAB 系统由 MATLAB 开发环境、MATLAB 数学函数库、MATLAB 语言、MATLAB 图形处理系统和 MATLAB 应用程序接口(API)五大部分构成。
MATLAB 开发环境
MATLAB 开发环境是一套方便用户使用 MATLAB 函数和文件的工具集,其中许多工具是图形化用户接口。MATLAB 是一个集成化的工作区,可以让用户输入、输出数据,并提供了 M 文件的集成编译和调试环境。MATLAB 包括 MATLAB 命令行窗口、M 文件编辑调试器、MATLAB 工作区和在线帮助文档等。
MATLAB 数学函数库
MATLAB 数学函数库包括大量的计算算法,从基本运算(如加法)到复杂算法(如矩阵求逆、贝济埃函数、快速傅里叶变换等),体现了其强大的数学计算功能。
MATLAB 语言
MATLAB 语言是一个高级的基于矩阵/数组的语言,包括程序流控制、函数、脚本、数据结构、输入/输出、工具箱和面向对象编程等特色。用户既可以用它来快速编写简单的程序,也可以用它来编写庞大复杂的应用程序。
MATLAB 图形处理系统
图形处理系统使得 MATLAB 能方便地图形化显示向量和矩阵,而且能对图形添加标注及进行打印。MATLAB 包括强力的二维及三维图形函数、图像处理和动画显示等函数。
MATLAB 应用程序接口
MATLAB 应用程序接口可以使 MATLAB 方便地调用 C 和 Fortran 程序,以及在 MATLAB 与其他应用程序间建立客户/服务器关系。
MATLAB 应用程序
应用程序(也称工具箱)是 MATLAB 强大功能得以实现的载体和手段,是对 MATLAB 基本功能的重要扩充。
MATLAB 会不定时更新应用程序,可到 官方链接 中了解 MATLAB 应用程序的最新动态。
工具箱分为两类:功能性工具箱和学科性工具箱。
功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能及与硬件实时交互功能。功能性工具箱能应用于多种学科。
学科性工具箱的专业性比较强,这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无须编写自己学科范围内的基础程序,即可直接进行高、精、尖的研究,控制工具箱、信号处理与通信工具箱等都属于此类。
在 APPS 菜单下可以打开所有的工具箱,点击向下的三角形可以展开所有的工具箱:
MATLAB 的目录结构
当用户在计算机上成功安装 MATLAB 后,在用户自定义的安装目录下便包含一系列的文件和文件夹。如图:
重要的部分文件和文件夹:
- \bin:MATLAB R2022b 系统中可执行的相关文件。
- \extern:创建 MATLAB R2022b 的外部程序接口的工具。
- \help:MATLAB R2022b 帮助系统。
- \java:MATLAB R2022b 的 Java支持程序。
- \rtw:Real-Time Workshop 软件包。
- \simulink:Simulink 软件包,用于动态系统的建模、仿真与分析。
- \sys:MATLAB R2022b 需要的工具和操作系统库。
- \toolbox:MATLAB R2022b 的各种应用程序。
- \uninstall:MATLAB R2022b 的卸载程序。
- \patents.txt:软件申请的专利内容。
启动 MATLAB
在 MATLAB R2022b 安装目录下的 bin 文件夹下,双击 matlab.exe
图标,启动 MATLAB R2022b。如果桌面没有 MATLAB 的图标,可以右键将其发送到桌面快捷方式。
启动 MATLAB 后,先出现启动界面,然后出现 MATLAB 的主界面,也叫做用户界面或用户工作环境,包括各个不同用途的窗口。
MATLAB 各个窗口
MATLAB 中包含 HOME
(主页)、PLOTS
(绘图)和 APPS
(应用程序)3 个选项卡,其中,PLOTS
选项卡提供数据的绘图功能;而 APPS
选项卡则提供了各应用程序的入口。HOME
选项卡下包括 FILE
、VARIABLE
、CODE
、SIMULINK
、ENVIRONMENT
、RESOURCES
6 个面板。
Workspace
Workspace 是工作区。
Workspace 显示当前内存中所有的 MATLAB 变量的变量名、数据结构、字节数及数据类型等信息,不同的变量类型分别对应不同的变量名图标。
Current Folder
Current Folder 是当前文件夹。
该窗口也可以成为一个独立的窗口:
cd 命令
在 Command Window 窗口输入 cd
,可以显示 Current Folder,该命令不返回任何变量。
>> cd
E:\MATLAB\test
dir 命令
显示当前文件夹或指定目录下的文件。
>> dir
. findsum.m matfuncs my data.dat study_Symbolic_Math_Toolbox.mlx tmp.html
.. funmsym.m mex_ex81.c my_fac.m test.m tmp2.css
c2dtab.mat magic1.m mex_ex81.mexw64 my_live_ed.mlx test.xls
diary 命令
日志文件命令。
Command Window
Command Window 是命令行窗口。
>>
是命令提示符,表示 MATLAB 处于准备状态,等待用户输入指令进行计算。
单击 Command Window 右上角的下三角形图标并选择 “取消停靠”,可以使命令行窗口脱离 MATLAB 主界面成为一个独立的窗口;同理,单击独立的命令行窗口右上角的下三角形图标并选择 “停靠”,可使命令行窗口再次合并到 MATLAB 主界面。如图:
当希望先输入多条语句,然后同时执行它们时,在输入下一条命令时,要在按住 Shift 键的同时按 Enter 键进行换行输入。
type 命令
显示文件内容。
>> type test.m
mex mex_ex81.c
A = [1 2 3; 4 5 6]; B = [1 2; 3 4];
C = mex_ex81(A', B);
D = A' * B;
E = mex_ex81(A, B);
F = A * B;
clear 命令
清理 Workspace 中的所有变量。
clc 命令
清除 Command Window 中的所有内容。
! 命令
打开 CMD 窗口。
… 续行符号
省略号 ...
是一种用于换行长表达式或语句的符号。它可以让你在一行中写下较长的代码,而不会超出编辑器的可见范围。...
前面可以有空格,也可以没有。
>> a=10
a =
10
>> b=1
b =
1
>> c=20
c =
20
>> res=a+b+ ...
c
res =
31
>> res=a+b+...
c
res =
31
搜索路径
MATLAB 提供了专门的路径搜索器来搜索存储 M 文件和其他相关文件。
MATLAB 自带的文件所存放路径都被默认包含在搜索路径中,在 MATLAB 安装目录的 toolbox
文件夹中包含了所有此类目录和文件。
例如,在 MATLAB 运算提示符后输入一个字符串 polyfit
后,MATLAB 进行的路径搜索步骤如下:
- 检查
polyfit
是不是 MATLAB 工作区内的变量名,如果不是,则执行下一步。 - 检查
polyfit
是不是一个内置函数,如果不是,则执行下一步。 - 检查当前文件夹下是否存在一个名为
polyfit.m
的文件,如果不存在,则执行下一步。 - 按顺序检查在所有 MATLAB 搜索路径中是否存在
polyfit.m
文件。 - 如果仍然没有找到
polyfit
,MATLAB就会给出一条错误信息。
凡是不在搜索路径上的内容(文件和文件夹),都不能被 MATLAB 搜索到;当某一文件夹的父文件夹在搜索路径中而其本身不在搜索路径中时,此文件夹并不会被搜索到。
一般情况下,MATLAB 系统的函数,包括工具箱函数,都是在系统默认的搜索路径之中的,但是用户设计的函数如果没有被保存到搜索路径下,则很容易造成 MATLAB 误认为该函数不存在。
在命令行窗口中输入命令 path
,MATLAB 将会把所有的搜索路径列出来:
在命令行窗口中输入 edit path
将打开 MATLAB 自带的文件 path.m
。
通过单击 MATLAB 主界面中的 HOME
选项卡 → ENVIRONMENT
面板 → Set Path
按钮或者在命令行窗口中输入 pathtool
命令,打开 “设置路径” 对话框,通过该对话框编辑搜索路径。
该对话框分为左右两部分,左侧几个按钮用来添加目录到搜索路径,还可从当前的搜索路径中移除所选择的目录;右侧列表框列出了已经被 MATLAB 添加到搜索路径的目录。
在命令行窗口中输入下面的语句也都可以添加路径:
path(path, 'path') % 'path' 是待添加的目录的完整路径
addpath 'path' -begin % 'path' 是待添加的目录的路径,将新目录添加到搜索路径的开始
addpath 'path' -end % 'path' 是待添加的目录的路径,将新目录添加到搜索路径的的末端
帮助系统
纯文本帮助
MATLAB 中的各个函数,不管是内建函数、M 文件函数,还是 MEX 文件函数等,一般都有 M 文件的使用帮助和函数功能说明,各个工具箱在通常情况下也具有一个与工具箱名称相同的 M 文件来说明工具箱的构成内容。
在 MATLAB 命令行窗口中,可以通过一些命令来获取这些纯文本的帮助信息。这些命令包括 help
、lookfor
、which
、doc
、get
、type
等。
help 命令
help
命令的调用方式为:
help fun
执行该命令可以查询到有关于 fun
的使用信息。
lookfor 命令
lookfor
命令的调用方式为:
lookfor fun
lookfor fun -all
执行该命令可以按照指定的关键字查找所有相关的 M 文件。
演示(Demos)帮助
可以通过以下两种方式打开演示帮助:
- 单击 MATLAB 主界面右上方工具栏中的帮助按钮,然后点击
Examples
。 - 在命令行窗口中输入
demos
。
帮助导航浏览器
帮助导航浏览器是 MATLAB 专门提供的一个独立的帮助子系统。该系统包含的所有帮助文件都存储在MATLAB安装目录下的 help 子目录下。用户可以采用以下两种命令打开帮助导航浏览器:
helpbrowser
doc
但是 MATLAB 会提示尽量使用 doc
(小写):
>> helpbrowser
Warning: HELPBROWSER will be removed in a future release. Use DOC instead.
> In helpbrowser (line 9)
>> DOC
Unrecognized function or variable 'DOC'.
Did you mean:
>> doc