MATLAB的前世今生(超详细)

目录

一. 对MATLAB有重要贡献的人

二. MATLAB的历史

三. MATLAB的功能与特点

四. MATLAB的语言优势

五. MATLAB工具箱

六. MATLAB的科学计算

七. 学习MATLAB对其他大学课程的帮助


一. 对MATLAB有重要贡献的人

MATLAB是矩阵实验室的缩写,MATrix LABoratory。

在70年代中期,Cleve Moler博士和其同事在美国国家科学基金的资助下,开发了调用EISPACKLINPACKFORTRAN子程序库。EISPACK是特征求解的FORTRAN程序库,LINPACK是解线性方程的程序库。在当时那个年代,这两个程序库代表矩阵运算的最高水平。

到了70年代后期,身为美国New Mexico大学计算机系主任的Cleve Moler,在给学生讲授线性代数课程时,想教给学生使用EISPACK和LINPACK程序库,但他发现学生用FORTRAN编写接口程序很费时间,为了让学生方便地调用EISPACK和LINPACK,他开始利用业余时间为学生编写EISPACK和LINPACK的接口程序。在那时,Cleve Moler就给这个接口程序取名为MATLAB(MATrix LABoratory)。在以后的数年时间里,MATLAB在多所大学里作为教学辅助软件使用,并作为面向大众的免费软件广为流传。

1983年春天,Cleve Moler到Standford大学讲学,MATLAB深深吸引了工程师Jack Little的注意。Jack Little敏锐地察觉到MATLAB在工程领域的广阔前景,同年,他和Cleve Moler, Steve Bangert一起,用C语言开发了第二代专业版。此时,这一版的MATLAB语言同时具备了数值计算数据图示化的功能。

二. MATLAB的历史

1984年,MATLAB推出第一个商业化的版本:3.0 DOS版本;

1992年,MathWorks公司推出了4.0版本;

1994年,4.2版本扩充了4.0版本的功能,尤其在图形界面设计方面提供了更多新的方法;

1997年,推出的5.0版本允许了更多的数据结构,比如单元数据、多维数据、对象与类等,使其成为一种更方便编程的语言;

1999年,推出的MATLAB 5.3版本在很多方面又进一步改进了MATLAB语言的功能;

2000年10月底,推出了全新的MATLAB 6.0正式版(Release 12),在核心数值算法、界面设计、外部接口、应用桌面等诸多方面有了极大的改进;

2002年6月,发布了其全新的MATLAB 6.5正式版(Release 13);

2004年5月,推出了MATLAB7.0 (Release 14);

2005年,MATLAB 7.1;

2006年,MATLAB 7.2 (MATLAB R2006a), R2006b;

2007年,MATLAB 7.4 (MATLAB R2007a), R2007b;

2008年,MATLAB 7.6 (MATLAB R2008a), R2008b;

2009年,MATLAB 7.8 (MATLAB R2009a), R2009b 2009.9.4

2010年,MATLAB R2010a, MATLAB R2010b

······

2018年,MATLAB R2018b

······

时至今日,经过MathWorks公司不断完善,MATLAB已经发展成为适合多学科,多种工作平台的功能强大的大型软件。在国外,MATLAB已经经受了多年的考验。尤其是在欧美等高校,MATLAB已经成为线性代数自动控制理论数理统计数字信号处理时间序列分析动态系统仿真等高级课程的基本教学工具。

MATLAB已经成为攻读学位的大学生,硕士生,博士生必须掌握的基本技能。在设计研究单位和工业部门,MATLAB被广泛用于科学研究和解决各种具体问题。在国内,特别是在工程学术界,MATLAB也逐步盛行起来。

三. MATLAB的功能与特点

MATLAB是一个交互式软件系统,当你输入一条命令时,立即就可以得到该命令的运行结果。它的优点在于快速开发计算方法,而不在乎计算的速度。

MATLAB具有很强的数值计算功能,它按照IEEE(美国电气和电子工程师协会)的数值计算标准进行计算,且具有如下优点:

  1. MATLAB以矩阵作为数据操作的基本单位,但是无需预先指定矩阵的维数,它可以动态定维;
  2. MATLAB提供了十分丰富的数值计算函数,方便计算,提高效率;
  3. MATLAB命令与数学中的符号与公式比较接近,可读性强,容易掌握;

四. MATLAB的语言优势

MATLAB的编程语言具备很多优点,此处列举主要的八点:

  1. 编程简单,效率高,某些地方类似C语言;
  2. 集成度高,扩展性更好;
  3. 数学问题的数值解能力很强大;
  4. 提供丰富的绘图命令,很方便地实现数据的可视化;
  5. 由Maple内核构成的符号运算工具箱,可以继承Maple所有解析解的求解能力;
  6. 在数学和工程领域有各种工具箱;
  7. 有强大的系统仿真能力,利用Simulink建模;
  8. 在控制界是国际首选的计算机语言;

五. MATLAB工具箱

MATLAB主要包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。工具箱主要分成两大类:功能性工具箱和学科性工具箱。

  • 功能性工具箱:用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互的功能。功能性工具箱可被用于多种学科。
  • 学科性工具箱:包含control,signal,processing,communication toolbox等。这些工具箱一般由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序

先列举一些常用的工具箱:

  • MATLAB主工具箱
  • 符号数学工具箱(Symbolic Math Toolbox)
  • SIMULINK仿真工具箱
  • 控制工具箱
  • 信号处理工具箱
  • 图像处理工具箱(Image Processing Toolbox)
  • 通讯工具箱
  • 系统辨识工具箱
  • 神经元网络工具箱(Neural Network Toolbox)
  • 金融工具箱(Finance Toolbox)
  • Optimization Toolbox
  • 统计工具箱(Statistics Toolbox)
  • Partial Differential Equation (PDE) Toolbox
  • GARCH Toolbox
  • Mapping toolbox
  • 样条工具箱(Spline Toolbox)
  • NAG Foundation Toolbox
  • 模糊逻辑工具箱(Fuzzy Logic Toolbox)
  • 高阶谱分析工具箱(Higher Order Spectral Analysis Toolbox)
  • 计算机视觉工具箱(Computor Vision System Toolbox)
  • 模型预测控制工具箱(Model Predictive Control Toolbox)
  • 鲁棒控制工具箱(Robust Control Toolbox)
  • 小波工具箱(Wavele Toolbox)
  • DSP处理工具箱(DSP System Toolbox)
  • 线性矩阵不等式工具箱(LMI Control Toolbox)
  • μ分析工具箱(μ-Analysis and Synthesis Toolbox)

现在举一个例子来认识这些工具箱。Optimization Toolbox中有一个带约束的最小二乘法的算法,可以来解决大型稀疏问题,利用此性能就可以来修复一个模糊的图片。

上面的是原来模糊的图片,下面的是修复之后的图片。

六. MATLAB的科学计算

MATLAB具有三大基本功能:数值计算、符号计算、图形处理,还可以作为程序设计与应用程序的接口。

MATLAB在科学计算中应用广泛,现在举六个例子:

①数值分析中的应用

  • 数值微分与数值积分
  • 线性代数
  • 多项式插值,数据的曲线拟合
  • 非线性方程求根
  • 微分方程 

②最优化问题的应用

③概率统计中的应用

④偏微分方程解法中的应用

⑤数学问题的非传统解法

  • 神经网络在数据拟合中的应用
  • 遗传算法在最优化求解中的应用

⑥计算机模拟

七. 学习MATLAB对其他大学课程的帮助

和数学的关系

  • 非理论,是如何解决问题
  • 应用数学和纯数学,数学问题机械化
  • 侧重直接获得问题的解,而不是存在性

和数值分析的关系

  • MATLAB数值分析的算法通常更有效,变步长,利用自适应的算法实现
  • 可以求解析解
  • 求解的面更大,更全面

和大学其他课程的关系

  • 利用计算机数学语言可以更好地解决后续课程中的数学问题和相关计算问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唠嗑!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值