MatLab

✍ dations ◷ 2025-05-15 17:51:29 #MatLab
MATLAB是MATrix LABoratory(矩阵实验室)的缩写,是一款由美国The MathWorks公司出品的商业数学软件。MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C、C++、Java、Python和FORTRAN)编写的程序。尽管MATLAB主要用于数值运算,但利用为数众多的附加工具箱(Toolbox)它也适合不同领域的应用,例如控制系统设计与分析、图像处理、信号处理与通讯、金融建模和分析等。另外还有一个配套软件包Simulink,提供一个可视化开发环境,常用于系统模拟、动态/嵌入式系统开发等方面。1970年代末到80年代初,时任美国新墨西哥大学教授的克里夫·莫勒尔为了让学生更方便地使用LINPACK及EISPACK(英语:EISPACK)(需要通过FORTRAN编程来实现,但当时学生们并无相关知识),独立编写了第一个版本的MATLAB。这个版本的MATLAB只能进行简单的矩阵运算,例如矩阵转置、计算行列式和本征值,此版本软件分发出大约两三百份。1984年,杰克·李特、克里夫·莫勒尔和斯蒂夫·班格尔特(英语:Steve Bangert)合作成立了MathWorks公司,正式把MATLAB推向市场。MATLAB最初是由莫勒尔用FORTRAN编写的,李特和班格尔特花了约一年半的时间用C重新编写了MATLAB并增加了一些新功能,同时,李特还开发了第一个系统控制工具箱,其中一些代码到现在仍然在使用。C语言版的面向MS-DOS系统的MATLAB 1.0在拉斯维加斯举行的IEEE决策与控制会议(IEEE Conference on Decision and Control)正式推出,它的第一份订单只售出了10份拷贝,而到了现在,根据MathWorks自己的数据,当前世界上180多个国家的超过三百万工程师和科学家在使用MATLAB和Simulink。1992年,学生版MATLAB推出;1993年,Microsoft Windows版MATLAB面世;1995年,推出Linux版。MATLAB的主要提供以下功能:MATLAB的一个重要特点是可扩展性。作为Simulink和其它所有MathWorks产品的基础,MATLAB可以通过附加的工具箱(Toolbox)进行功能扩展,每一个工具箱就是实现特定功能的函数的集合。MathWorks提供的工具箱分以下几大类:这些工具箱大多是用开放式的MATLAB语言写成,用户不但可以查看源代码,还可以可根据自己的需要进行修改以及创建自定义函数。此外,常有用户在MATLAB Central: File Exchange发布自己编写的MATLAB程序或工具箱,供他人自由下载使用。MATLAB语言是一种交互性的数学脚本语言,其语法与C/C++类似。它支持包括逻辑(boolean)、数值(numeric)、文本(text)、函数柄(function handle)和异素数据容器(heterogeneous container)在内的15种数据类型,每一种类型都定义为矩阵或阵列的形式(0维至任意高维)。执行MATLAB代码的最简单方式是在MATLAB程序的命令窗口(Command Window)的提示符处(>> )输入代码,MATLAB会即时返回操作结果(如果有的话)。此时, MATLAB可以看作是一个交互式的数学终端,简单来说,一个功能强大的“计算器”。MATLAB代码同样可以保存在一个以.m为后缀名的文本文件中,然后在命令窗口或其它函数中直接调用。MATLAB的变量名字跟许多程序语言一样,严格区分大小写,例如,var、VAR和Var是三个不同的变量。另外,MATLAB中变量名字必须以字母为首字母,3var、_var等是非法的变量名。变量由赋值运算符(=)定义. MATLAB是动态检查的,这意味着变量可以在未定义其类型的情况下赋值并且变量的类型也可以改变,除非将变量看做是符号对象。变量值可以取自常量,计算中的其他变量的值,或某一函数的输出。例如:MATLAB的意思是"矩阵实验室",因此它提供了许多创建向量,矩阵和多维数组的便捷的方式。在MATLAB自己的语言中,一个向量(vector)指的是一维(1×N或N×1)矩阵,在其他语言中通常被叫做数组(array)。矩阵(matrix)通常指的是2-维数组,例如m×n数组其中m和n大于或等于1。多维数组通常指的是维数大于2的数组。需要注意的是,虽然MATLAB用C语言重写,但是在矩阵存储方式上却和FORTRAN保持一致,两者使用的均为列优先存储,而非行优先存储。在进行较大的矩阵运算时,这一差别对性能的影响是不应忽略的。MATLAB提供了定义简单数组的简单方式,使用语法:初值:增量:终值。例如:定义了一个名为array的变量(或向已存在的变量array赋予一个新值),其值为包含1, 3, 5, 7, 9的一个向量。即数组由1开始(初值),每次以增量2(增量)递增,当达到9(终值)时停止。在该语法中增量可被省略(这样仅剩一个冒号),这时增量采用默认值1。由于默认增量为1,上面的语句对变量ari用1, 2, 3, 4, 5的向量赋值。 在MATLAB内定义矩阵同样很简单,例如:在MATLAB内访问矩阵元素同样非常简单,例如:若要对矩阵内所有元素做同样的运算,如次方倍,则需要在操作数前面加上".",例如:若不在操作数前面加上"."则代表矩阵运算:利用MATLAB的符号数学工具箱(Symbolic Math Toolbox)可以进行代数或符号运算,如分解多项式因子和解代数方程:把多项式 A = x 3 − 3 x 2 y + 3 x y 2 − y 3 {displaystyle A=x^{3}-3x^{2}y+3xy^{2}-y^{3}} 简化成了 ( x − y ) 3 {displaystyle (x-y)^{3}} 。求得方程 x 2 − 2 x − 4 = 0 {displaystyle x^{2}-2x-4=0} 的两个解为 1 + 5 {displaystyle 1+{sqrt {5}}} 和 1 − 5 {displaystyle 1-{sqrt {5}}} 。MATLAB中常用的绘图命令是plot,例如描绘一个在区间内的正弦函数:利用plot命令也可以在同一幅图中描绘多个函数图形:用MATLAB的画图命令可以生成复杂的三维图形:到7.1版为止,MATLAB的释放编号均以数字来命名,例如R7,R12.1,R14 SP1等;从7.2版开始,释放编号以年份来命名,每年3月份推出的用a表示,9月份推出的则以b表示,例如R2006a代表2006年3月推出的版本,R2009b指2009年下半年推出的版本:从2014a版起,Matlab界面支持中文。Maple是Waterloo Maple Inc.(简称Maplesoft)开发的商业计算机代数系统,用于快速计算、开发设计表单、教学基本概念或创建高保真模拟模型等。最新版本是2018年3月发布的Maple 2018.0,分Personal(个人版),Professional(专业版),Academic(学术版),Government(政府版)和Student(学生版)。Mathematica是斯蒂芬·沃尔夫勒姆开发的科学计算软件,开发工作现由Wolfram Research公司负责。最新版本是2019年4月16日发布的Mathematica 12.0。LabVIEW是美国国家仪器公司开发的可视化编程平台,主要用于数据采集,仪器控制和工业自动化。最新版本是2017年8月发布的LabVIEW 2017。FreeMat是一个与MATLAB和交互式数据语言(IDL)很类似的数值计算平台及程序语言。最新版本是2009年10月发布的FreeMat 4.0GNU Octave是一种主要用于数值计算的高级语言。它除了提供数值方法解决线性和非线性问题的命令接口,还提供了一种与MATLAB大抵兼容的语言。最新版本是2019年3月1日发布的5.1.0。Scilab是一个交互性的数值运算平台,主要用于工程和科学应用方面,例如航空航天、汽车、能源、金融、化学、生物、医学、国防等。最新版本是5.4.0。ScicosLab(英语:ScicosLab)是由一些曾在INRIA和ENPC参与Scilab开发的研究人员,在Scilab BUILD4版本的基础上开发出来的GTK+版本,它集成了建模/模拟工具Scicos及其它数量众多的工具箱,被认为是“惟一一款可以与商业软件MATLAB/Simulink及MATRIXx/SysstemBuild媲美的开源软件”。最新稳定版本是4.4.1。JAMA(英语:JAMA) (JAMA : A Java Matrix Package(英语:JAMA : A Java Matrix Package)),一种Java语言编程工具包。当前最新1.0.3版本,是2012年11月9日发布的。NumPy是Python语言的一个扩展程序库。支持高端大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。SciPy是一个开源,基于NumPy的Python算法库和数学工具包,包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。Julia是一种高级通用语言。

相关

  • 第二型糖尿病2型糖尿病(英语:Diabetes mellitus type 2,简称T2DM,台湾称为第二型糖尿病),大陆旧称为非胰岛素依赖型糖尿病(英语:noninsulin-dependent diabetes mellitus,简称NIDDM)或成人发病型糖
  • 巴鲁赫·斯宾诺莎斯宾诺莎(拉迪诺语:Baruch de Spinoza,拉丁语:Benedictus de Spinoza,1632年11月24日-1677年2月21日),西方近代哲学史重要的理性主义者,与笛卡尔和莱布尼茨齐名。斯宾诺莎的祖先是居
  • 波兰波兰国家图书馆(波兰语:Biblioteka Narodowa)是波兰的中央图书馆,直接受波兰文化和国家遗产部管辖。除了波兰国家图书馆之外,在波兰只有雅盖隆图书馆也享有国家图书馆的地位。波
  • 地球空洞说地球空洞说是一种认为地球是一颗中空星球的假说,该假说还通常认为地球有一个适宜人类居住的内表面。虽然在过去某一段时期,有关冒险文学作品使此说流行,但现在这一想法只有很少
  • 嗜酸性细胞嗜酸性粒细胞(英语:Eosinophil, Eosinocyte 或 Acidophil,全稱 Eosinophilic granulocyte)是粒细胞中含有嗜酸性颗粒的一种,其他两种是中性粒细胞和嗜碱性粒细胞。其吞噬能力不如
  • 亚硝酸根亚硝酸盐(Nitrite,NO2−)是亚硝酸组成的盐,主要指亚硝酸钠(NaNO2),含有亚硝酸根离子,化学式NO2−,有一对称阴离子与同等的N–O键长和大约120度的O–N–O键角。亚硝酸盐可被氧化或还原
  • 凝胶电泳凝胶电泳(英语:Gel electrophoresis)或称胶体电泳,是一种用于大分子(如DNA、RNA、蛋白质)以及其碎片的分离、分析技术。该技术被科学工作者用于分离具有不同物理性质(大小、电荷、
  • 法式洋葱汤法式洋葱汤(英语:French onion soup)是主要以肉类和洋葱为成分制成的汤,其历史可追溯到古典时代,法式洋葱汤一直很受罗马人和希腊人欢迎。
  • 印度语言印度语言非常复杂,大约有几百种,根据1961年的统计,有1652种,根据2001年的统计,有29种语言的使用人口超过一百万,有122种语言的使用人口超过一万人,这些语言主要分属于两大语系:印欧
  • 腹直肌腹直肌(简称腹肌)是指躯干下半部(或称腹部)的器官,由若干片状的肌肉保护着,并固定在适当的位置。他们包括两块腹直肌,沿着身体前面,从胸廓延伸到骨盆。当腹直肌收缩时,腹部被往内拉。