您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 设计及方案 > Matlab应用与仿真PPT
1Matlab应用与仿真刘子龙武汉理工大学物理系2第一部分:Matlab简介MATLAB是MatrixLaboratory(矩阵实验室)的简称,是美国MathWorks公司()出品的商业数学软件,是一种用于算法开发、数据可视化、数据分析以及数值计算的高级计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。31.1Matlab的发展历程20世纪70年代中期,美国的CleveMoler博士开发了FORTRAN语言的两个子程序库——LINPACK和EISPACK,分别用于解线性方程和特征方程,它们代表了当时矩阵计算的最高水平20世纪70年代后期,CleveMoler博士在讲授线性代数课程时想教学生使用LINPACK和EISPACK程序库,当他发现学生花大量时间用于编写接口程序而背离开课的目的时,便着手利用FORTRAN语言编写了一套方便调用LINPACK和EISPACK的接口程序,并将其命名为MATLAB(矩阵实验室)。41983年-1984年,CleveMoler和JohnLittle(MathWorks公司总裁)等合作用C语言开发了第二代专业版MATLAB。并于1984年成立MathWorks公司,正式将MATLAB推向市场,这就是MATLAB的最初版本1.0。从这一代起MATLAB的核心就不再使用FORTRAN语言而是一直采用C语言编写。1.1Matlab的发展历程到20世纪90年代,MATLAB已成为国际控制界的标准计算软件。现在一般每年发布两个版本,上半年a版本,下半年b版本。5MATLAB的版本一览1.1Matlab的发展历程版本编号建造编号发布时间MATLAB8.0R2010a2010.3.5MATLAB7.9R2009b2009.9MATLAB7.8R2009a2009.3MATLAB7.7R2008b2008.10MATLAB7.6R2008a2008.3MATLAB7.5R2007b2007.9MATLAB7.4R2007a2007.36版本编号建造编号发布时间MATLAB7.3R2006b2006MATLAB7.2R2006a2006MATLAB7.1R14SP32005MATLAB7.0.4R14SP22005MATLAB7.0.1R14SP12004MATLAB7.0R142004MATLAB6.5.2R13SP22003MATLAB的版本一览(续)1.1Matlab的发展历程7版本编号建造编号发布时间MATLAB6.5.1R13SP12003MATLAB6.5R132002MATLAB6.1R12.12001MATLAB6.0R122000MATLAB5.3.1R11.11999MATLAB5.3R111999MATLAB5.2.1R10.11998MATLAB的版本一览(续)1.1Matlab的发展历程8版本编号建造编号发布时间MATLAB5.2R101998MATLAB5.1.1R9.11997MATLAB5.1R91997MATLAB5.0R81996MATLAB4.2cR71994MATLAB的版本一览(续)1.1Matlab的发展历程9版本编号建造编号发布时间MATLAB41992MATLAB3.51990MATLAB31987MATALB21986MATLAB1.01984MATLAB的版本一览(续)1.1Matlab的发展历程101.2Matlab的应用领域MATLAB对许多专门的领域都开发了功能强大的模块集(BLOCKSET)和工具箱(TOOLBOX)。每一个工具箱(MATLAB函数的子程序库)都是由特定领域的专家开发的,用户可以直接使用工具箱来进行相关的设计与研究而不需要自己编写代码。MATLAB的工具箱主要包括:优化设计、图像与数字信号处理、通信、控制系统、神经网络、模糊逻辑、小波分析、系统仿真、计算生物学和计算金融学等方面的应用。下面列举MATLAB的部分工具箱以供一览:11数学与优化OptimizationToolbox(优化工具箱)GlobalOptimizationToolbox(全局优化工具箱)SymbolicMathToolbox(符号工具箱)PartialDifferentialEquationToolbox(偏微分方程工具箱)统计与数据分析StatisticsToolbox(统计工具箱)NeuralNetworkToolbox(神经网络工具箱)Matlab的部分工具箱一览:12控制系统设计与分析ControlSystemToolbox(控制系统工具箱)SystemIdentificationToolbox(系统识别工具箱)FuzzyLogicToolbox(模糊逻辑工具箱)RobustControlToolbox(鲁棒控制工具箱)信号处理与通信SignalProcessingToolbox(信号处理工具箱)CommunicationsToolbox(通信工具箱)FilterDesignToolbox(滤波器设计工具箱)WaveletToolbox(小波分析工具箱)Matlab的部分工具箱一览:(续)13Matlab的部分工具箱一览:(续)图像处理ImageProcessingToolbox(图像处理工具箱)VideoandImageProcessingBlockset(视频和图像处理模块)ImageAcquisitionToolbox(图像采集工具箱)MappingToolbox(绘图工具箱)计算金融FinancialToolbox(金融工具箱)EconometricsToolbox(经济学工具箱)14图片来源:第二部分:Matlab基础及入门2.1MATLAB的Desktop操作桌面简介工作空间管理命令:who,whos,clearMaltlab命令是以命令行形式或m文件形式输入,输入的命令和创建的所有变量,都会驻留在Matlab的工作空间,可在任何需要的时候调用。MATLAB的工作空间(Workspace)下一张幻灯片162.1MATLAB的Desktop操作桌面命令窗口历史命令窗口当前目录工作空间内存变量命令提示符172.2简单的范例输入:sqrt(2*pi)+3/2-cos(2)结果:ans=4.4228,ans用于显示结果的默认变量名矩阵(‘[]’表示)的输入,各元素以空格或逗号分隔,分号是换行符矩阵乘法A*B“演算纸式”的算法语言!182.3在线帮助helpsqrthelp+命令名或函数名(或F1键)更详细的帮助信息19變量名稱是由英文字母、數字或下劃綫所組成開頭的第一個字母必須是英文字母名稱長度不能超過32個字母會區分變數的大小寫變量不必聲明便可直接使用2.4变量的命名规则202.5Matlab的保留变量eps浮点运算误差=2.2204*10-16j,i纯虚数Inf无穷大NaN不是一个数(NotaNumber),如0/0pi圆周率ans用于返回结果的缺省变量名nargin所用函数的输入变量nargout所用函数的输出变量212.6Matlab的数据类型Matlab中任何数据类型都以数组的形式存在,数组维数可以是零维(标量),一维、二维、多维若數組只有一維,稱之為向量(vector)向量可再細分為行向量(rowvector)與列向量(columnvector)數組若是二維,則稱之為矩陣(matrix)22数组字串数值元胞结构体函数句柄n-bit整数int8,uint8int16,uint16int32,uint32int64,uint64singledouble一般数值2.6Matlab的数据类型232.6.1一维数值型数组Matlab的向量是以一维数组來表示行向量里,元素与元素之间用空格键或逗号隔开列向量以分号隔开A=[1,2,3]ans=123A=[1;2;3]ans=12324构建一维数组的方法直接输入A=[1,2,3]ans=123A=[1;2;3]ans=123使用冒号“:”创建x=0:0.1:2*pi;%建立从0到2的行向量,元素增量0.1y=sin(x);%元素个数和x相同的行向量plot(x,y);%二维绘图函数,画sin函数图像行向量列向量“%”后面的所有文字都是注释!25sin(x)的函数图像一个命令行的末尾如果是分号,则结果不显示在屏幕,否则将结果输出到屏幕。图形窗口白色区域代表坐标轴内的区域所有的绘图命令(比如plot)执行后都会自动弹出一个图形窗口显示绘制的图形26使用linspace命令创建t=linspace(0,2*pi,100);%建立从0到2的%行向量,元素数目100y=sin(t);plot(t,y);length(t)%查询向量t的长度ans=100t=t;%“”转置符号,行向量与列向量相互转换27表2.3.2基本的向量處理函數函數說明sum(v)計算向量v的總和prod(v)計算向量v的乘積max(v)取出向量v的最大值min(v)取出向量v的最小值sort(v)將向量v裡的元素由小到大排列sort(v,'descend')將向量v裡的元素由大到小排列cumsum(v)計算向量v的累加(cumulativesum)cumprod(v)計算向量v的累乘(cumulativeproduct)基本的向量处理函数282.6.2二维数值型数组称二维数组为矩阵(matrix)一个m×n的矩陣代表矩阵具有m个行n个列要建立矩陣,同一行的元素用空格或逗号隔開,行與行之間用分號隔開m1=[134;357]m2=[2,3,1,4;4,8,5,0;3,3,1,2]29构建二维数组(矩阵)的方法直接输入m1=[134;357]m2=[2,3,1,4;4,8,5,0;3,3,1,2]利用向量或矩阵的组合a=1:3;b=2:4;c=[a,b],d=[a;b]c=123234d=123234元素的增量=130第4列第1行第2行第3行第1列第2列第3列第1维度第2维度cat(1,a,b);%沿列维创建,相当于[a;b]cat(2,a,b);%沿行维创建,相当于[a,b]利用命令cat(dim,A,B)Matlab的运算按列优先!31表3.3.1常用的矩陣建立函數函數說明zeros(n)建立一個nn的全零矩陣zeros(m,n,...,p)建立一個mnp的全零矩陣ones(n)建立一個nn的全1矩陣ones(m,n,...,p)建立一個mnp的全1矩陣eye(n)建立一個nn的單位矩陣(eye(m,n)建立一個mn,且對角線為1,其它元素為0的矩陣diag(v)以向量v為對角元素,建立一個矩陣magic(n)建立一個nn的魔術方陣(magicsquare)利用Matlab提供的函数建立32表3.3.2以亂數來建立陣列之函數函數說明rand建立一個0~1之間均勻分佈的亂數rand(n)建立一個0~1之間,維度為nn之均勻分佈的亂數矩陣rand(m,n,...,p)建立一個0~1之間,維度為mnp之均勻分佈的亂數矩陣randn建立一個平均值為0,標準差為1的常態分佈亂數randn(n)同rand,但是建立常態分佈的亂數矩陣randn(m,n,...,p)同rand,但是建立常態分佈的亂數矩陣(随机数)利用Matlab提供的函数建立(续)33zeros(2,3)ans=000000eye(3)ans=100010001diag(1:3)ans=100020003ones(2,3)ans=111111利用Matlab提供的函数建立矩阵(续)34利用Matlab提供的函数建立矩阵(续)rand(3)%0~1间的随机矩阵ans=0.95010.48600.45650.23110.891
本文标题:Matlab应用与仿真PPT
链接地址:https://www.777doc.com/doc-3175647 .html