MATLAB简介
MATLAB 是一款以数学计算为主的高级编程软件,提供了各种强大的数组运算功能用于对各种数据集合进行处理。
矩阵和数组是 MATLAB 数据处理的核心,因为 MATLAB 中所有的数据都是用数组来表示和存储的。
虽然 MATLAB 是面向矩阵的编程语言,但它还具有一种与其他计算机编程语言(如C语言、FORTRAN)类似的编程特性。在进行数据处理的同时,MATLAB 还提供了各种图形用户接口(GUI)工具,便于用户进行各种应用程序开发。
MATLAB 译为“矩阵实验室”,最初用来提供通往 LINPACK 和 EISPACK 矩阵的软件包接口。后来,它渐渐发展成为通用的科技计算图形交互系统和程序语言。
因此用 MATLAB 解决计算问题比用 C、Fortran 等语言简捷得多。
MATLAB 发展到现在已经成为一个系列产品:MATLAB 主程序包和各种可选的 toolbox 工具包。主包中有数百个核心内部函数。迄今所有的四十几个工具包又可分为两类—功能性工具包和学科性工具包。
功能性工具包主要用来扩充 MATLAB 的符号计算功能、图形建模仿真功能、文字处理功能以及硬件实时交互功能。这种功能性工具包可用于多种学科。
学科性工具包是专业性比较强的工具包,如控制工具包(Control Toolbox)、信号处理工具包(Signal Processing Toolbox)、通信工具包(Communication Toolbox)等都属此类。
开放性是 MATLAB 最重要且最受人欢迎的特点。除内部函数外,所有 MATLAB 主包文件和各工具包文件都是可读可改的源文件。用户可通过对源文件进行修改或加入自己的编写文件来构成新的专用工具包。
MATLAB 已经经过用户的多年考验。在欧美发达国家,MATLAB 已经成为应用线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具,成为攻读学位的大学生、硕士生、博士生必须掌握的基本技能。在设计研究单位和工业部门,MATLAB 被广泛用于研究和解决各种具体工程问题。
MATLAB 的强大功能从本质上讲分为以下三类:
这一特点是其他许多软件平台无法比拟的。
MATLAB 提供的通用数理类函数包括如下:
目前,MATLAB 产品的工具箱有四十多个,分别涵盖了数据获取、科学计算(如偏微分方程、最优化、数理统计、样条函数、神经网络等)、控制系统设计与分析、数字信号处理、数字图像处理、金融财务分析以及生物遗传工程等专业领域。
Simulink 是基于 MATLAB 的框图设计环境,可以用来对各种动态系统进行建模、分析和仿真,它的建模范围广泛,可以针对任何能够用数学描述的系统进行建模,如航空航天动力学系统、卫星控制制导系统、通信系统、船舶及汽车等,其中包括连续、离散、条件执行、事件驱动、单速率、多速率和混杂系统等。
Simulink 提供了系统框图模型的图形界面,而且 Simulink 还提供了丰富的功能模块以及不同的专业模块集合,利用 Simulink 几乎可以做到不书写任何代码即可完成整个动态系统的建模工作。
Stateflow 是一个交互式的设计工具,它基于有限状态机的理论,可以用来对复杂的事件驱动系统进行建模和仿真。Stateflow 与 Simulink 和 MATLAB 紧密集成,可以将 Stateflow 创建的复杂控制逻辑有效地结合到 Simulink 的模型中。
在一个平台上编写的程序,在其他平台上一样可以正常运行;在一个平台上编写的数据文件,在其他平台上一样可以编译。因此,用户可以根据需要把 MATLAB 编写的程序移植到新平台。
任何一个 MATLAB 程序的基本组成单元都是数组。数组是一组数据值的集合,这些数据被编上行号和列号,拥有唯一的名称。
数组中的单个数据可以通过带有小括号的数组名访问,括号内有这个数据的行标和列标,中间用逗号隔开。
当 MATLAB 程序启动时,会出现 MATLAB 桌面窗口。默认的 MATLAB 桌面结构如下图所示。
在MATLAB 集成开发环境下,它集成了管理文件、变量和应用程序的许多编程工具。
矩阵和数组是 MATLAB 数据处理的核心,因为 MATLAB 中所有的数据都是用数组来表示和存储的。
虽然 MATLAB 是面向矩阵的编程语言,但它还具有一种与其他计算机编程语言(如C语言、FORTRAN)类似的编程特性。在进行数据处理的同时,MATLAB 还提供了各种图形用户接口(GUI)工具,便于用户进行各种应用程序开发。
MATLAB 译为“矩阵实验室”,最初用来提供通往 LINPACK 和 EISPACK 矩阵的软件包接口。后来,它渐渐发展成为通用的科技计算图形交互系统和程序语言。
MATLAB 简介
MATLAB 的基本数据单位是矩阵,它的指令表达与数学工程中常用的习惯形式十分相似,例如:-
矩阵方程
Ax=b
在 MATLAB 中被写成A*x=b
; -
而若要通过 A、b 求 x,那么只要写
x=b\A
即可完全不需要对矩阵的乘法和求逆进行编程。
因此用 MATLAB 解决计算问题比用 C、Fortran 等语言简捷得多。
MATLAB 发展到现在已经成为一个系列产品:MATLAB 主程序包和各种可选的 toolbox 工具包。主包中有数百个核心内部函数。迄今所有的四十几个工具包又可分为两类—功能性工具包和学科性工具包。
功能性工具包主要用来扩充 MATLAB 的符号计算功能、图形建模仿真功能、文字处理功能以及硬件实时交互功能。这种功能性工具包可用于多种学科。
学科性工具包是专业性比较强的工具包,如控制工具包(Control Toolbox)、信号处理工具包(Signal Processing Toolbox)、通信工具包(Communication Toolbox)等都属此类。
开放性是 MATLAB 最重要且最受人欢迎的特点。除内部函数外,所有 MATLAB 主包文件和各工具包文件都是可读可改的源文件。用户可通过对源文件进行修改或加入自己的编写文件来构成新的专用工具包。
MATLAB 已经经过用户的多年考验。在欧美发达国家,MATLAB 已经成为应用线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具,成为攻读学位的大学生、硕士生、博士生必须掌握的基本技能。在设计研究单位和工业部门,MATLAB 被广泛用于研究和解决各种具体工程问题。
MATLAB 的强大功能从本质上讲分为以下三类:
- 内部函数。
- 系统附带各种工具包中的M文件所提供的大量函数。
- 用户自己增加的函数。
这一特点是其他许多软件平台无法比拟的。
MATLAB 提供的通用数理类函数包括如下:
- 基本数学函数。
- 特殊函数。
- 基本矩阵函数。
- 特殊矩阵函数。
- 矩阵分解和分析函数。
- 数据分析函数。
- 微分方程求解。
- 多项式函数。
- 非线性方程及其优化函数。
- 数值积分函数。
- 信号处理函数。
目前,MATLAB 产品的工具箱有四十多个,分别涵盖了数据获取、科学计算(如偏微分方程、最优化、数理统计、样条函数、神经网络等)、控制系统设计与分析、数字信号处理、数字图像处理、金融财务分析以及生物遗传工程等专业领域。
Simulink 是基于 MATLAB 的框图设计环境,可以用来对各种动态系统进行建模、分析和仿真,它的建模范围广泛,可以针对任何能够用数学描述的系统进行建模,如航空航天动力学系统、卫星控制制导系统、通信系统、船舶及汽车等,其中包括连续、离散、条件执行、事件驱动、单速率、多速率和混杂系统等。
Simulink 提供了系统框图模型的图形界面,而且 Simulink 还提供了丰富的功能模块以及不同的专业模块集合,利用 Simulink 几乎可以做到不书写任何代码即可完成整个动态系统的建模工作。
Stateflow 是一个交互式的设计工具,它基于有限状态机的理论,可以用来对复杂的事件驱动系统进行建模和仿真。Stateflow 与 Simulink 和 MATLAB 紧密集成,可以将 Stateflow 创建的复杂控制逻辑有效地结合到 Simulink 的模型中。
MATLAB语言平台
MATLAB 支持许多操作系统,提供了大量的平台独立措施。在本文发布时,Windows XP、Windows 7、Windows 8 、Windows 10 和许多版本的 UNIX 系统都支持它。在一个平台上编写的程序,在其他平台上一样可以正常运行;在一个平台上编写的数据文件,在其他平台上一样可以编译。因此,用户可以根据需要把 MATLAB 编写的程序移植到新平台。
任何一个 MATLAB 程序的基本组成单元都是数组。数组是一组数据值的集合,这些数据被编上行号和列号,拥有唯一的名称。
数组中的单个数据可以通过带有小括号的数组名访问,括号内有这个数据的行标和列标,中间用逗号隔开。
标量也被 MATLAB 当作数组,只不过只有一行和一列。
当 MATLAB 运行时,有多种类型的窗口,有的用于接收命令,有的用于显示信息。三个重要的窗口有命令行窗口、图像窗口、编辑/调试窗口,它们的作用分别为输入命令、显示图形、允许使用者创建和修改 MATLAB 程序。当 MATLAB 程序启动时,会出现 MATLAB 桌面窗口。默认的 MATLAB 桌面结构如下图所示。
在MATLAB 集成开发环境下,它集成了管理文件、变量和应用程序的许多编程工具。
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算