绪论
1.1简介
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国Mathworks公司开发出品的商用数学软件。可用于数据分析处理,算法开发,数据可视化以及进行图形科学处理的高级技术计算语言和交互式环境,主要包括matlab和Simulink两大部分。
因为matlab的基本数据单位是矩阵,所以相较与其他传统语言,比如C、C++等等,能够更方便快捷的解决技术计算的问题。
1.2发展历史
Matlab早期是由美国新墨西哥大学计算机系主任克里夫·莫勒尔和他的同事与20世纪70年代末编写的。并且取了matrix和laboratory两个单词的前三个自字母组成了MATLAB(矩阵实验室),受到了学生的广泛欢迎。
20世纪80年代,杰克·李特、克里夫·莫勒尔和斯蒂夫·班格尔特共同组建了MathWorks软件开发公司,正式把Matlab推向市场。在1984年推出的第一个MATLAB的商用版本,并且其核心部分采用了C语言重新编写,同时,李特还开发了第一个系统控制工具箱,。再往后,MATLAB 有增加了多媒体、运算符、图像处理等功能,以及与其他软件的接口功能。
1992年,MATLAB学生版推出,这个版本的推出可以说是具有划时代的意义,也称MATLAB1.0版本。1993年,MATLAB推出Microsoft Windows 。1995年,MATLAB推出linux版本。2006年推出的MATLAB6.0版本在操作界面上有了很大的改观,还推出了历史窗口,和变量管理窗口等。2004年9月推出了MATLAB7.0版本,这也是一个具有里程碑式的一个版本。直至今日,MathWorks公司每年在3月发布一个a版本和在9月发布一个b版本,目前最新的是MATLAB 2018b。
MATLAB几个重要版本的发展阶段
第一个商用版1984年 |
1993年的windows版 |
1995年的linux版 |
1999版 |
2004年7.0版 |
第一个版本70年代末 |
图1-1 |
1.3优势特点
matlab是一套功能强大的工程计算软件,被广泛的应用于自动控制、机械设计、金融、流体力学和数理统计等领域。
1.3.1MATLAB的优点
编程效率高:MATLAB语言是一种面向科学计算工程的高级语言,包含控制语句、函数变量、数据结构、结构体等面向对象语言的特点,其语法和c、c++等语言非常的接近,而且还允许一些数值计算,非常的方便。matlab能够将非常复杂的算法化简,书写形式非常的简单,非计算机专业的人员也可以非常轻松的使用。使用时用户可直接在命令工作区输入指令就可运行,也可以结合m文件编写,在运行。而且这种语言的可扩展性,移植型非常好,所以现在它运用于各个方面,运用的范围非常的广。
具有完备的图像处理功能:matlab拥有完备被图像处理功能,为了方便数据的可视化,数据二维或三维的方式显示(如图1-1),可以将向量、矩阵、函数等用图像的方式显示出来(如图),而写该软件还广泛的运用于工程制图,图像处理,动画制作,甚至是修图。
>> clear;
>> x=-8:0.5:8;
>> y=x';
>> X=ones(size(y))*x;
>> Y=y*ones(size(x));
>> R=sqrt(X.^2+Y.^2)+eps;
>> colormap(cool)
图1-1 |
强大的处理功能:MATLAB包含了大量的计算算法,拥有600多个工程数学计算函数,能够为用户提供丰富的工程计算。函数所用到的算法都是最新的科研中最新的结果,而且经过了各种的优化处理。它能够用简单的数学语言进行编程,所以在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。
丰富的功能应用工具箱:MATLAB为许多领域研发了功能强大的工具箱,。一般来说,它们都是由特定领域的专家开发,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。
常用工具箱:
Matlab Mian Toolbox | Matlab 主工具箱 |
Control System Toolbox | 控制系统工具箱 |
Communication Toolbox | 通讯工具箱 |
Financial Toolbox | 财政金融工具箱 |
System Identification Toolbox | 系统辨识工具箱 |
DSP system Toolbox | DSP处理工具箱 |
Simulink Toolbox | 动态仿真工具箱 |
Smbolic Math Toolbox | 符号数学工具箱 |
1.3.2MATLAB的缺点
封装性不好:所有的变量均保存在公共工作区中,任何语句都可以调用。
循环运算效率低:MATLAB中的变量均以向量的形式表现,但当向量中只有一个元素时,其中的运行处理相当复杂。
1.4系统组成
1.4.1开发环境
MATLAB开发环境是一套方便用户使用的函数和文件工具集,其中包含的工具是图形用户化接口。包括MATALB桌面、命令窗口、M文件编辑调试器、MATLAB工作空间和在线帮助文档。
1.4.2MATLAB语言
MATLAB语言是一种高级的矩阵语言,它拥有程序流程控制,函数,数据结构,输入输出等面向对象语言特点。
1.4.3数学函数库
MATLAB数学函数库包括了大量的计算算法。从基本算法如四则运算、三角函数,到复杂算法如矩阵求逆、快速傅里叶变换等。
1.4.4图形处理系统
图形处理系统使MATLAB能够便捷的处理矩阵和向量,而且能够通过二维和三维图形将这些数据的图形化打印出来。
1.4.5应用程序接口(API)
应用程序接口是MATLAB与其他高级编程语言交互的一函数库,改函数库通过动态调动函数实现MATLAB文件数据的交互。
1.5MATLAB应用
MATLAB应用广泛,它将计算、可视化和编程等功能集于一体,广泛地应用于数学分析和计算、自动控制、系统仿真、工程与科学绘图、数字信号处理、图像处理、数理统计、人工智能、通信工程和金融系统等领域。