摘要MATLAB是美国mathworks公司开发的大型数学计算软件,它具有强大的矩阵处理和绘图功能,已经广泛地应用于科学研究和工程技术的各个领域,MATLAB 以矩阵和向量为基本数据单元,提供了丰富的矩阵操作和矩阵运算功能,并在这些基本运算基础上提供了可供各种科学研究和工程技术门类使用的工具箱。
极大地方便了科学计算和工程问题的求解,使得科技人员从复杂的变成工作中解放出来,专注于数学模型的建立。
本文着重介绍MATLAB的基本操作和一些基础应用,并通过例子来阐述说明,熟悉MATLAB函数调用,了解其在电工电子技术中的应用。
掌握Matlab基本语法结构及调试方法,熟悉Matlab函数调用,熟练其用于电工电子的一些计算,并学会用Matlab/Simulink进行简单电路的仿真。
一、MALTISM简介MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
在MATLAB函数库中,除了基本初等函数外,还有初等矩阵和矩阵变换、线性代数方程组合矩阵特征的求解、多项式运算和求根、函数的插值和数据的多项式拟合、数值积分和常数微分方程数值解、函数求极值、单变量非线性方程求解根、数据分析和傅里叶变换,以及某些特殊的矩阵函数和数学函数,这些函数都可以直接调用。
用户可以根据自己的需要任意扩充函数库。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用.二、MATLAB的应用。
MATLAB产品族可以用来进行以下各种工作:●数值分析●数值和符号计算●工程与科学绘图●控制系统的设计与仿真●数字图像处理技术●数字信号处理技术●通讯系统设计与仿真●财务与金融工程MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。
附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB环境,以解决这些应用领域内特定类型的问题。
发展历程20世纪70年代,美国新墨西哥大学计算机科学系主任Cleve Moler为了减轻学生编程的负担,用FORTRAN编写了最早的MATLAB。
1984年由Little、Moler、Steve Bangert合作成立了的MathWorks公司正式把MATLAB推向市场。
到20世纪90年代,MATLAB已成为国际控制界的标准计算软件。
三、MATLAB的特点1、语言新特点(1)数据类型和面向对象编程技术MATLAB6.x版与旧版最显著的不同在于数据类型的变化。
6.x版现有六种基本数据类型:双精度数组、字符串数组、元胞数组、构架数组、稀疏矩阵和unit8数据。
数据类型的变革,面向对象编程技术的采用,所产生的影响是广泛而深层的。
这种影响首先表现在MATLAB的自身。
从5.0版起,MATLAB就用新数据类型逐步地对其自身的函数指令加以改造。
这个过程一直延续到6.x版才基本完成。
比如6.x版就推出了一组名称全新(求取极小值等)的泛函指令,它们优化参数的设置是采用构架数组进行的。
再如6.x版提供的常微分方程解算指令ODE Solver的参数设置也全是靠新数据类型进行的。
新数据类型和面向对象技术的影响之二:若干通用工具包的相应升级。
以符号计算为例,在MATLAB4.2c中,Symbolic Math Toolbox1.0版处理符号计算的指令形式与数值计算指令形式很不协调,显得十分生硬。
比如,符号矩阵的“四则”运算的旧版指令分别是symadd,symsub,symmul和inverse。
但在6.x版中,符号工具包已升级为2.0版,新的“四则”符号运算指令形式上与数值计算完全相同,它们分别是+,-,*,/。
新的符号计算形式已被改造得与“MATLAB风格数值计算形式”浑然统一。
新数据类型和面向对象技术影响之三:一系列的应用工具包相继升级。
这不仅使应用工具包表现更为友善,而且功能大大加强。
以控制工具包为例,新版利用构架数组和重载技术,把线性时不变系统(Linear Time-Invariant system)设计为“LTI对象”。
这样处理后,不管LTI是由传递函数产生、由零极点增益方式产生,还是由状态方程形式创建,只要是LTI对象,它们之间就可方便地进行各种数学运算。
(2)控制流和函数类型新版MATLAB的控制流新增了多分支结构switch-case、try-catch结构和警告提示指令error、warning。
这进一步提高了程序的可读性和运行可靠性。
新版的函数类型大大丰富,适应编制和管理复杂程度不同的程序。
例如内联函数比较简练,适用于各类比较简单数学模型。
而子函数、私用函数的增添,使得复杂函数比较容易组织,既提高了软件的“重用度”,又避免了众多内存变量名的冲突、庞大工具库的函数名冲突。
为函数设计了新的变长度输入输出宗量varagin、varagout。
采用了这种变长度宗量,MATLAB自身的新版指令被进一步“柔性化”。
一个指令可以接受任意多个输入宗量,可以产生任意多个输出宗量,以适应不同场合的需要。
可使得所有这些措施使得MATLAB能更加便捷地编制复杂的大型程序。
当然,用户也可以借助这种变长度宗量来编制灵活多变的应用程序。
工作环境所谓工作环境是指:帮助系统、工作内存管理、指令和函数管理、搜索路径管理、操作系统、程序调试和性能剖析工具等。
1、传统工作环境与同时期其他数学类软件相比,旧版MATLAB的工作环境虽属比较友善之列,但其工作环境确实比较“单调”。
它的帮助系统是“纯文本”形式的;内存管理、路径管理、调试工具是单纯指令操纵形式的;文件类型也形式单一,仅有M文件和MAT文件。
4.2c版情况开始变化,但那只是过渡形式。
2、工作环境新特点(1)大量引入图形用户界面6.x版改变了过去单调依靠“在指令窗通过纯文本形指令进行各种操作”面貌,引入了许多让使用者一目了然的图形界面,如在线帮助的交互型界面helpwin,管理工作内存的workspace,交互式的路径管理界面pathtool,指令窗显示风格设置界面等。
它们的开启方式有:工具条图标开启、选择菜单项开启,直接“文本式”指令开启。
6.x版更进一步把图形显示窗改造成了交互操作的可编辑图形界面。
(2)引入了全方位帮助系统“临场”在线帮助:这些帮助内容,大多嵌附在M文件中,即时性强,反应速度快。
它对求助内容的回答最及时准确。
MATLAB旧版就一直采用这种帮助系统,并深受用户欢迎。
新版保留原功能的同时,还新增一个内容与之完全对应的图形界面helpwin,加强了对用户的向导。
综合型在线帮助文库helpdesk:该文库以HTML超文本形式独立存在。
整个文库按MATLAB的功能和核心内容编排,系统性强,且可以借助“超链接”方便地进行交叉查阅。
但是,这部分内容偶而发生与真实M文件脱节的现象。
完整易读的PDF文档:这部分内容与HTML帮助文库完全对应。
PDF文档不能直接从指令窗中开启,而必须借助Adobe Acrobat Reader软件阅读。
这种文件的版面清楚、规范,适宜有选择地系统阅读,也适宜于制作硬拷贝。
演示软件demo:这是一个内容广泛的演示程序。
MATLAB一向重视演示软件的设计,因此无论MATLAB旧版还是新版,都随带各自的演示程序。
只是,新版内容更丰富了。
(3)M文件编辑、调试的集成环境新的编辑器有十分良好的文字编辑功能。
它可采用色彩和制表位醒目地区分标识程序中不同功能的文字,如运算指令、控制流指令、注释等。
通过编辑器的菜单选项可以对编辑器的文字、段落等风格进行类似Word那样的设置。
从5.2版起,还新增了“变量现场显示”功能,只要把鼠标放在变量名上(Mouse over),就能在现场显示该变量的内容。
在6.x版中,调试器已经被图形化,它与编辑器集成为一体。
只需点动交互窗上的调试图标就可完成对程序的调试。
(4)M文件的性能剖析调试器只负责M文件中语法错误和运行错误的定位,而性能剖析指令profile将给出程序各环节的耗时分析报告。
6.x版剖析指令的分析报告特别详细,它将帮助用户寻找影响程序运行速度的“瓶颈”所在,以便改进。
(5)Notebook新的安装方式从4.2c版引入Notebook以来,这种集文字、计算、图形于一体的“活”环境就深受用户赞赏。
但直到5.2版至,Notebook的安装都是与MATLAB的安装同步进行的。
这种安装方式的不便之处是:一旦Word发生变动,就必须把MATLAB全盘重装。
6.x版改变了这种局面,它可以在MATLAB指令窗中“随时”进行安装Notebook,省时灵活。
(6)MATLAB环境可运行文件的多样化旧版中,用户可编制和运行的程序文件只有M脚本文件和M函数文件。
6.x版新增了产生伪代码P文件的pcode指令和产生二进制MEX文件的mex 指令。
较之M文件,这两种文件的运行速度要快得多,保密性也好。
图视系统四、实验总结通过这次的强化训练,我学到了MATlLAB的一些基本操作,同时也通过这两种方法解决了本道习题。
MATLAB是一款功能非常强大的软件,对于电路分析、数理分析以及解决电路或者其他实际问题提供了很大的捷径,对于电路仿真、复杂矩阵的运算、数学建模、数字建模等发挥着巨大的作用。
我们知道,MATLAB 的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多。
与此同时,MATLAB是一款非常严密的软件,它对接线要求较为严格,两元器件间的连接一定要准确地接到端点处,这就给我们接线带来了一定的困难。