您好,欢迎访问三七文档
实验(一)认识MATLABApplicationofMatlabLanguage实验目的:认识MATLAB,熟悉MATLAB环境,能够利用命令窗口,进行实践。2020/4/7ApplicationofMatlabLanguage21Matlab概述内容Matlab发展历史Matlab产品家族(Matlabfamilyofproducts)体系Matlab语言的特点。目的全面了解Matlab软件包激发对Matlab软件的学习兴趣。2020/4/7ApplicationofMatlabLanguage3MATLAB自1984年由美国的MathWorks公司推向市场,历经近30年的专门打造、20多年的千锤百炼,它以高性能的数组运算(包括矩阵运算)为基础,不仅实现了大多数数学算法的高效运行函数和数据可视化,而且提供了非常高效的计算机高级编程语言,在用户可参与的情况下,各种专业领域的工具箱不断开发和完善,MATLAB取得了巨大的成功,已广泛应用于科学研究、工程应用,用于数值计算分析、系统建模与仿真。早在20世纪90年代初,欧美等发达国家的大学就将MATLAB列为一种必须掌握的编程语言。近几年来,国内的很多大学也将MATLAB列为了本科生必修课程。与Maple、Mathematica数学计算软件相比,MATLAB以数值计算见长,而Maple等以符号运算见长,能给出解析解和任意精度解,而处理大量数据的能力远不如MATLAB。MATLAB软件功能之强大、应用之广泛,已成为为21世纪最为重要的科学计算语言。可见学习掌握这一工具的重要性。1.1MATLAB的重要性2020/4/7ApplicationofMatlabLanguage4MATLAB产品由若干模块组成,不同的模块完成不同的功能,其中有:实际上MATLAB本身就是一个极其丰富的资源库,那么应该从哪一部分开始着手、学习使用MATLAB呢?这就有必要了解这一软件产品的体系结构。MATLABCompiler这种编译器可以将MATLAB程序文件编译生成标准的C/C++语言文件,而生成的标准的C/C++文件可以被任何一种C/C++编译器编译生成函数库或可执行文件,以提高程序的运行效率。1.2MATLAB产品的体系结构MATLABMATLABToolboxesMATLABCompilerSimulinkSimulinkBlocksetsReal-TimeWorkshop(RTW)StateflowStateflowCoder由这些模块产品之间的关系可以图1.1表示。图1.1MATLAB产品体系结构围绕着MATLAB这个计算核心,形成了诸多针对不同应用领域的算法程序包,被称为专用工具箱(Toolbox),这些工具箱的列表以及每个工具箱的使用详见MATLAB在线帮助文档。MATLAB本身所提供的工具箱大概有40多个,另外还有其他公司或研究单位开发提供的工具箱,这些工具箱的总数已有100多个,而且新的工具箱还在不断增加。如果你有特别的应用领域,可以首先到网上查找是否已有相关的工具箱,很可能已有人将你要做的应用程序作成工具箱了。Simulink是窗口图形方式的、专门用于连续时间或离散时间的动态系统建模、分析和仿真的核心。Real-TimeWorkshop是一种实时代码生成工具,它能够根据Simulink模型生成程序源代码,并打包、编译所生成的源代码生成实时应用程序。从现有的Simulink和Stateflow自动生成C语言程序代码的功能、定点运算模块集(Fixed-pointBlockset)与C语言程序代码到VHDL(VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage,一种标准的硬件电路设计语言)的自动转换功能,可以看出,高级的系統仿真或低级的芯片算法设计,都可用MATLAB、Simulink、Stateflow及相关的工具箱来完成。Stateflow是基于有限状态机理论针对复杂的事件驱动系统进行建模、仿真的工具。StateflowCoder是基于Stateflow状态图生成高效、优化的程序代码。围绕着Simulink仿真核心所开发的应用程序包,称为模块集(Blocksets),MATLAB产品提供许多专用模块集,如CommunicationBlockset、DSPBlockset、SimPowerSystemBlockset、SignalProcessingBlockset等,详见MATLAB在线帮助文档。MATLAB是MATLAB产品家族的计算核心与基础,是集高性能数值计算与数据可视化于一体的高效编程语言。2020/4/7ApplicationofMatlabLanguage5MATLAB系统的组成开发环境包括MATLAB桌面、命令窗口等。MATLAB的数学函数库计算算法的大集合,例如矩阵求逆、矩阵特征值等。MATLAB语言高级的矩阵/数组语言,具有程序设计的特点。图形将数据图形化。MATLAB应用接口2020/4/7ApplicationofMatlabLanguage61.3MATLAB编程语言的特点•语法规则简单。尤其内定的编程规则,与其他编程语言(如C、Fortran等)相比更接近于常规数学表示。对于数组变量的使用,不需类型声明,无需事先申请内存空间。MATLAB语言主要有以下几个特点:•MATLAB基本的语言环境提供了数以千计的计算函数,极大的提高了用户的编程效率。如,一个fft函数即可完成对指定数据的快速傅里叶变换,这一任务如果用C语言来编程实现的话,至少要用几十条C语言才能完成。因此,MATLAB是一个简单易用、功能强大的高效编程语言。•平台无关性(可移植性)。MATLAB软件可以运行在很多不同的计算机系统平台上,如WindowsMe/NT/2000/XP、很多不同版本的UNIX以及Linux。无论你在哪一个平台上编写的程序都可以运行在其它平台上,对于MATLAB数据文件也一样,是平台无关的。极大保护了用户的劳动、方便了用户。其绘图功能也是平台无关的。无论任何系统平台,只要MATLAB能够运行,其图形功能命令就能正常运行。•MATLAB是一种脚本式(scripted)的解释型语言,无论是命令、函数或变量,只要在命令窗口的提示符下键入,并“回车(Enter)”,MATLAB都予以解释执行。2020/4/7ApplicationofMatlabLanguage7功能强大数值运算优势符号运算优势(Maple)强大的2D、3D数据可视化功能许多具有算法自适应能力的功能函数2020/4/7ApplicationofMatlabLanguage8语言简单、内涵丰富语言及其书写形式非常接近于常规数学书写形式;其操作和功能函数指令就是常用的计算机和数学书上的一些简单英文单词表达的,如:help、clear等;完备的帮助系统,易学易用。扩充能力、可开发能力较强MATLAB完全成了一个开放的系统用户可以开发自己的工具箱可以方便地与Fortran、C等语言接口编程易、效率高Matlab以数组为基本计算单元具有大量的算法优化的功能函数2020/4/7ApplicationofMatlabLanguage92MATLAB的桌面环境及入门知识启动与退出MATLAB命令窗口及使用数值表示、变量、表达式命令历史窗口工作空间获取在线帮助2020/4/7ApplicationofMatlabLanguage102.1启动与退出MATLAB启动MATLAB直接用鼠标双击桌面上MATLAB7.1图标或Windows桌面的“开始”—〉“所有程序”—〉“MATLAB7.1”—〉“MATLAB7.1”。退出MATLAB关闭MATLAB桌面在命令窗口执行quit或exit命令MATLAB缺省桌面(见下页)2020/4/7ApplicationofMatlabLanguage11菜单栏工具栏文件编辑窗口工作空间历史命令窗口Start菜单命令窗口命令提示符2.1启动与退出MATLAB(续)2020/4/7ApplicationofMatlabLanguage122.2命令窗口的使用激活命令窗口。“”与闪烁的光标一起表明系统就绪,等待输入。命令窗口脱离MATLAB桌面。简单计算【例2.2-1】计算(1)在MATLAB命令窗口输入以下内容:(12+2*(7-4))/3^2(2)按【Enter】键,指令执行。(3)返回的计算结果:ans=221227432020/4/7ApplicationofMatlabLanguage132.2命令窗口(续)〖说明〗在命令窗口【Enter】键提交命令执行。Matlab所用运算符(如+、-、^等)是各种计算程序中常见的。计算结果中的“ans”是英文“answer”的一种缩写,其含义就是“运算答案”。ans是Matlab的一个预定义变量。2020/4/7ApplicationofMatlabLanguage142.2命令窗口(续)简单计算(续)【例2.2-2】计算sin(45ْ)sin(45*pi/180)Matalb中正弦函数sin就是常见的正弦函数。它的参数值是以“弧度”为单位的。pi也是Matalb的预定义变量。pi=3.14159…Matlab对字母大小写是敏感的。【例2.2-3】计算的值,其中x=4.92。0.521xesqrt(2*exp(4.92+0.5)+1)Matalb中开平方—sqrt(x),是英文squareroot的缩写。Matalb中指数函数exp(x),常见的表达方式。ans=0.7071ans=21.27812020/4/7ApplicationofMatlabLanguage152.2命令窗口(续)“clc”清除窗口显示内容的命令。【例2.2-4】计算的值。2sin0.315yy=2*sin(0.3*pi)/(1+sqrt(5))y=0.5000【例2.2-5】计算的值。2cos0.315yy=2*cos(0.3*pi)/(1+sqrt(5))y=0.3633命令行编辑“↑”键调回已输入过命令。修改。2020/4/7ApplicationofMatlabLanguage162.2命令窗口(续)【例2.2-5】计算半径为5.2m的圆的周长和面积。radius=5.2;%圆的半径area=pi*5.2^2,circle_len=2*pi*5.2area=84.9487circle_len=32.6726以上两例,命令行中用到了等号“=”。计算结果不再赋给“ans”,而是赋给用户指定的变量y、area、circle_len。无论是预定义变量还是用户自定义变量都被存储在系统的工作空间内,即系统定义的一个存储窗口变量的内存空间。Who、whos命令用来显示工作空间的变量clear命令用来清除工作空间的变量。2020/4/7ApplicationofMatlabLanguage172.2命令窗口(续)whowhosYourvariablesare:anscircle_lenyarearadiusNameSizeBytesClassans1x18doublearrayarea1x18doublearraycircle_len1x18doublearrayradius1x18doublearrayy1x18doublearrayGrandtotalis5elementsusing40bytes2020/4/7ApplicationofMatlabLanguage182.2命令窗口(续)clearywhoYourvariablesare:anscircle_lenarearadiusclearansareawhosYourvariablesare:NameSizeBytesClassc
本文标题:认识matlab
链接地址:https://www.777doc.com/doc-4723223 .html