《MATLAB R2012a超级学习手册》一1.1 MATLAB介绍

简介:

本节书摘来自异步社区《MATLAB R2012a超级学习手册》一书中的第1章,第1.1节,作者 史洁玉 , 孔玲军,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.1 MATLAB介绍

MATLAB R2012a超级学习手册
MATLAB是一种高效的工程计算语言,它将计算、可视化和编程等功能集于一个易于使用的环境。

1.1.1 MATLAB的产品构架

MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用MATLAB产品的开放式结构,可以非常容易地对MATLAB的功能进行扩充,从而在不断深化对问题认识的同时,不断完善MATLAB产品以提高产品自身的竞争能力。

说明:
目前MATLAB产品家族广泛用于如下几个方面。

数值分析。
数值和符号计算。
工程与科学绘图。
图形用户界面设计、控制系统的设计与仿真。
数字图像处理、数字信号处理。
通信系统设计与仿真。
财务与金融工程等领域。
MATLAB产品家族的框架结构如图1-1所示。其中MATLAB是MATLAB产品家族的基础,它提供了基本的数学算法,例如矩阵运算、数值分析算法,可直接调用600多个内建MATLAB函数。MATLAB集成了2D和3D图形功能,以完成相应数值可视化的工作,并且提供了一种交互式的高级编程语言——M语言,利用M语言可以通过编写脚本或者函数文件实现读者自己的算法。

image

MATLAB Compiler是一种编译工具,能够将那些利用MATLAB提供的编程语言——M语言编写的函数文件编译生成为函数库、可执行文件COM组件等。利用M语言还开发了相应的MATLAB专业工具箱函数供读者直接使用。

Simulink是基于MATLAB的框图设计环境,可以用来对各种动态系统进行建模、分析和仿真。它的建模范围广泛,可以针对任何能够用数学来描述的系统进行建模,其中包括连续、离散,条件执行,事件驱动,单速率、多速率和混杂系统等。

Stateflow是一个交互式的设计工具。它基于有限状态机的理论,可以用来对复杂的事件驱动系统进行建模和仿真。Stateflow与Simulink、MATLAB紧密集成,可以将Stateflow创建的复杂控制逻辑有效地结合到Simulink的模型中。

1.1.2 MATLAB简介

MATLAB软件从1984年推出的第1个版本到目前发布的版本为MATLAB R2012a。MATLAB语言相对于传统的科技编程语言有诸多的优点,主要包括以下几个方面。

1.易用性
MATLAB是种解释型语言,就像各种版本的BASIC。和BASIC一样,它简单易用可实时计算在命令行处表达式的值,也可执行预先写好的大型程序。在MATLAB集成开发环境下,程序可以方便地编写、修改和调试。

2.平台独立性
MATLAB支持许多的操作系统,提供了大量的平台独立的措施。在一个平台上编写的程序,在其他平台上一样可以正常运行,在一个平台上编写的数据文件在其他平台上一样可以编译。

3.预定义函数
MATLAB带有一个极大的预定义函数库,提供了许多已测试和打包过的基本工程问题的函数。在许多的语言中,需要写出所编数组的下标和执行计算所需要的函数。这些函数包括其数学意义、中值、标准误差等。

除了植入MATLAB基本语言中的大量函数,还有许多专用工具箱,以帮助读者解决在具体领域的复杂问题。

4.机制独立的画图
与其他语言不同,MATLAB有许多的画图和图像处理命令。当MATLAB运行时,这些标绘图和图片将会出现在这台电脑的图像输出设备中。此功能使得MATLAB成为一个形象化技术数据的卓越工具。

5.可视化图形界面
MATLAB允许程序员为他们的程序建立一个交互式的图形界面。利用MATLAB的这种功能,程序员可以设计出相对于无经验的读者可以操作的复杂的数据分析程序。

6.MATLAB编译器
MATLAB的灵活性和平台独立性是通过将MATLAB代码编译成设备独立的P代码,然后在运行时解释P代码来实现的。这种方法与微软的VB相类似。不幸的是,由于MATLAB是解释性语言,而不是编译型语言,导致产生的程序执行速度慢。

7.文件I/O和外部应用程序接口
MATLAB的文件I/O和外部应用程序接口有如下特点。

新的文件I/O函数支持读取更大的文本文件,并且可以向Excel和HDF5文件中写入内容。
支持压缩格式的MAT文件,使得读者可以使用较少的磁盘空间保存大量的数据,而且速度更快。
可以使用Java addpath函数来动态添加、删除或重载Java类,而不必重启MATLAB。
支持COM接口、服务器事件和VisualBasic脚本等。
当然MATLAB也有两个基本的缺点。

(1)MATLAB是解释型语言,执行速度要比编译型语言慢得多。这个问题可以通过合理的MATLAB结构得到缓解,也可以在使用前编译出MATLAB程序。

(2)MATLAB软件的费用较高。一个完全版MATLAB编译器的大小是一个C语言或Fortran语言编译器的5到10倍。但MATLAB能够节省大量的时间在科技编程方面,故MATLAB在商业编程过程中是节省成本的。

相关文章
|
24天前
OFDM深入学习及MATLAB仿真(二)
OFDM深入学习及MATLAB仿真
22 1
|
1月前
|
索引
matlab日常学习-------矩阵
matlab日常学习-------矩阵
23 0
|
7月前
|
机器学习/深度学习 传感器 负载均衡
一种高效的自主学习方式——基于簇头的方法 Vanet中的路由(Matlab代码实现)
一种高效的自主学习方式——基于簇头的方法 Vanet中的路由(Matlab代码实现)
|
4月前
【MATLAB学习】—结构化与自定义函数(四)
【MATLAB学习】—结构化与自定义函数(四)
|
22天前
【MATLAB学习】—MATLAB逻辑与流程控制(三)
【MATLAB学习】—MATLAB逻辑与流程控制(三)
|
2月前
|
移动开发 vr&ar
【MATLAB学习】—矩阵构造和四则运算(二)
【MATLAB学习】—矩阵构造和四则运算(二)
|
4月前
|
机器学习/深度学习 索引
【MATLAB学习】—MATLAB基本操作(一)
【MATLAB学习】—MATLAB基本操作(一)
|
3月前
|
Perl
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
|
3月前
【数值分析】迭代法求方程的根(附matlab代码)
【数值分析】迭代法求方程的根(附matlab代码)
|
3月前
【数值分析】Jacobi、Seidel和Sor迭代法求解线性方程组(附matlab代码)
【数值分析】Jacobi、Seidel和Sor迭代法求解线性方程组(附matlab代码)

热门文章

最新文章