第一章 计算机仿真和MATLAB语言概述.ppt

上传人:hyn****60 文档编号:70382042 上传时间:2023-01-19 格式:PPT 页数:51 大小:1.32MB
返回 下载 相关 举报
第一章 计算机仿真和MATLAB语言概述.ppt_第1页
第1页 / 共51页
第一章 计算机仿真和MATLAB语言概述.ppt_第2页
第2页 / 共51页
点击查看更多>>
资源描述

《第一章 计算机仿真和MATLAB语言概述.ppt》由会员分享,可在线阅读,更多相关《第一章 计算机仿真和MATLAB语言概述.ppt(51页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、MATLAB语言与计算机仿真语言与计算机仿真通过本课程的学习,应理解计算机仿真的基本步骤和相关知识,并熟练掌握当前流行的演算式MATLAB语言,结合所学课程,学会运用MATLAB语言进行系统仿真和辅助设计,为今后从事科学研究打下较好的基础。课程任务第一章 计算机仿真概述及MATLAB基本操作第二章 符号计算第三章 数值数组及其运算第四章 数值计算第五章 数据和函数可视化第六章 M文件和面向对象编程第七章 SIMULINK仿真基础第八章 GUI设计及控制系统仿真实例第十章 仿真 工程设计(一)第十一章 仿真 工程设计(二)第十二章 仿真工程设计(三)教学内容综合成绩评定:综合成绩评定:u平时成绩

2、(平时成绩(60)课堂、上机课堂、上机 u考试成绩(考试成绩(40)参考书目精通MATLAB 6.5版 张志涌等编著 北京航空航天大学出版社 2003.3MATLAB电子仿真与应用 韩利竹等编著 国防工业出版社MATLAB控制系统设计 欧阳黎明 编著 国防工业出版社应用MATLAB建模与仿真 陈桂明 等编著 科学出版社MATLAB扩展编程 何强,何英编著 清华大学出版社MATLAB应用程序接口指南 刘志坚编著 科学出版社MATLAB高级应用图形图像处理 清源计算机工作室编著 机械工业出版社第一章、计算机仿真和第一章、计算机仿真和MATLAB语言概述语言概述第一节第一节 计算机仿真的基本概念计算

3、机仿真的基本概念一、计算机辅助设计与仿真的概念一、计算机辅助设计与仿真的概念1、计算机辅助设计的概念、计算机辅助设计的概念计算机辅助设计(CAD)技术是利用计算机高速而精确的计算能力、大容量存储的能力,结合设计者的综合分析、逻辑判断及创造性思维,用以加快设计进程、缩短设计周期、提高设计质量的技术。Computer Aided Design说明:计算机辅助设计从广义上来讲它包含了计算机仿真的内容,从狭义上说它的主要工作是利用计算机的运算能力来处理设计者手工处理所遇到的不便与繁琐。2、计算机仿真的概念、计算机仿真的概念仿真的定义仿真的定义仿真是利用物理的或数学的模型来类比模仿现实过程,以寻求对真实

4、过程的认识。它所遵循的基本原则是相似性原理。计算机仿真的定义计算机仿真的定义计算机仿真是基于所建立的系统仿真模型,利用计算机对系统进行分析与研究的方法。1、模型的定义模型是对现实系统有关结构信息和行为的某种形式的描述,是对系统的特征与变化规律的一种定量抽象,是人们认识事物的一种手段或工具。2、模型的分类(1)物理模型指不以人的意志为转移的客观存在的实体,如:飞行器研制中的飞行模型;船舶制造中的船舶模型等。(2)数学模型是从一定的功能或结构上进行相似,用数学的方法来再现原型的功能或结构特征。二、计算机仿真模型(3)仿真模型指根据系统的数学模型,用仿真语言转化为计算机可以实施的模型。三、计算机仿真

5、的三要素及基本步骤(内容)1、三要素(1)系统:研究的对象(2)模型:系统的抽象(3)计算机:工具与手段2、基本步骤包括三个基本的内容:建模仿真实验 结果分析第二节仿真的分类一、按模型分类1、物理仿真:采用物理模型,有实物介入!具有效果逼真,精度高等优点,但造价高或耗时长,大多在一些特殊场合下采用(如导弹、卫星一类飞行器的动态仿真,发电站综合调度仿真等),具有实时性、在线的特点。2、数学仿真:采用数学模型在计算机上进行,具有非实时性、离线的特点,经济、快速、实用。二、按计算机类型分类二、按计算机类型分类1、模拟仿真、模拟仿真:采用数学模型,在模拟计算机上进行的实验研究。50年代描述连续物理系统

6、的动态过程比较自然、逼真,具有仿真速度快、失真小、结果可靠的优点,但受元器件性能影响,仿真精度较低,对计算机控制系统的仿真较困难,自动化程度低。模拟计算机的核心是运算部分,它由我们熟知的“模拟运算放大器”为主要部件所构成。2、数字仿真:、数字仿真:采用数学模型,在数字计算机上借助于数值计算方法所进行的仿真实验。60年代计算与仿真的精度较高。理论上计算机的字长可以根据精度要求来“随意”设计,因此其仿真精度可以是无限,但是由于受到误差积累、仿真时间等因素影响,其精度也不易定得太高。对计算机控制系统的仿真比较方便。仿真实验的自动化程度较高,可方便地实现显示、打印等功能。计算速度比较低,在一定程度上影

7、响到仿真结果的可信度。但随着计算机技术的发展,“速度问题”会在不同程度上有所改进与提高。数字仿真没有专用的仿真软件支持,需要设计人员用高级程序语言编写求解系统模型及结果输出的程序。3、混合仿真:、混合仿真:结合了模拟仿真与数字仿真。4、现代计算机仿真:、现代计算机仿真:采用先进的微型计算机,基于专用的仿真软件、仿真语言来实现,其数值计算功能强大,使用方便,易学。80年代以后第三节仿真技术的应用与发展一、仿真技术的应用1、航空与航天工业飞行器设计中的三级仿真体系:纯数学模拟(软件)、半实物模拟、实物模拟或模拟飞行实验。飞行员及宇航员训练用飞行仿真模拟器。2、电力工业电力系统动态模型实验:电力系统

8、负荷分配、瞬态稳定性以及最优控制等。电站操作人员培训模拟系统。3、原子能工业模拟核反应堆核电站仿真器用来训练操作人员以及研究异常故障的排除处理。4、石油、化工及冶金工业5、非工程领域医学社会学宏观经济与商业策略的研究二、应用仿真技术的意义1、经济大型、复杂系统直接实验是十分昂贵的,如:空间飞行器的一次飞行实验的成本约在1亿美元左右,而采用仿真实验仅需其成本的1/101/5,而且设备可以重复使用。2、安全某些系统(如载人飞行器、核电装置等),直接实验往往会有很大的危险,甚至是不允许的,而采用仿真实验可以有效降低危险程度,对系统的研究起到保障作用。3、快捷提高设计效率:比如电路设计,服装设计等等。

9、4、具有优化设计和预测的特殊功能对一些真实系统进行结构和参数的优化设计是非常困难的,这时仿真可以发挥它特殊的优化设计功能。在非工程系统中(如社会、管理、经济等系统),由于其规模及复杂程度巨大,直接实验几乎不可能,这时通过仿真技术的应用可以获得对系统的某种超前认识。三、仿真技术的发展趋势1、硬件方面:基于多CPU并行处理技术的全数字仿真将有效提高仿真系统的速度,大大增强数字仿真的实时性。2、应用软件方面:直接面向用户的数字仿真软件不断推陈出新,各种专家系统与智能化技术将更深入的应用于仿真软件开发之中,使得在人机界面、结果输出、综合评判等方面达到更理想境界。3、分布式数字仿真:充分利用网络技术,协

10、调合作,投资少,效果好。4、虚拟现实技术:综合了计算机图形技术、多媒体技术、传感器技术、显示技术以及仿真技术等多学科,使人置身于真实环境之中。第四节计算机仿真软件一、仿真软件的发展1、程序编程阶段所有问题(如:微分方程求解、矩阵运算、绘图等)都是用高级算法语言(如C、FORTRAN等)来编写。2、程序软件包阶段出现了“应用子程序库”。3、交互式语言阶段(仿真语言)仿真语言可用一条指令实现某种功能,如“系统特征值的求解”,使用人员不必考虑什么算法,以及如何实现等低级问题。4、模型化图形组态阶段符合设计人员对基于模型图形化的描述。二、几种仿真软件1、ORCAD:通用的电子电路仿真软件,适合于元件级

11、仿真。2、SYSTEM VIEW:系统级的电路动态仿真软件3、MATLAB:具有强大的数值计算能力,包含各种工具箱,其程序不能脱离MATLAB环境而运行,所以严格讲,MATLAB不是一种计算机语言,而是一种高级的科学分析与计算软件。4、SIMULINK:是MATLAB附带的基于模型化图形组态的动态仿真环境。第五节 MATLAB简介一、MATLAB的发展史 MATLAB名字由MATrix和 LABoratory 两词的前三个字母组合而成。那是20世纪七十年代,时任美国新墨西哥大学计算机系主任的Cleve Moler出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK矩阵

12、软件工具包库程序的的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。1984年由Little、Moler、Steve Bangert合作成立MathWorks公司,并把MATLAB正式推向市场。从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。1997年春,MATLAB5.0版问世,紧接着是5.1、5.2,以及和1999年春的5.3版直到现在的MATLAB6.5和7.0版。现今的MATLAB拥有更丰富的数据类型和结构、更友善的面向对象、更快速精良的图形可视、更广博的数学和数据分析资源、更多的应用开发工具。二、二、MATLAB语言

13、的主要特点语言的主要特点(1)具有丰富的数学功能 包括矩阵各种运算(正交变换、三角分解、特征值等)、各种特殊函数(贝塞尔函数、勒让德函数、伽码函数、贝塔函数、椭圆函数)、各种数学运算功能(微积分、插值、求极值、方程求根、FFT、解常微分方程等)。(2)具有很好的图视系统可方便地画出两维和三维图形。高级图形处理:色彩控制、句柄图形、动画等。图形用户界面GUI制作工具,可以制作用户菜单和控件。使用者可以根据自己的需求编写出满意的图形界面。(3)可以直接处理声音和图形文件。声音文件(如:WAV文件)、图形文件(如:bmp、gif、pcx、tif 、jpeg等文件)。(4)具有若干功能强大的应用工具箱

14、。SIMULINK、COMM、DSP、SIGNAL等。(5)使用方便,具有很好的扩张功能。(6)具有很好的帮助功能 可以M文件转变为独立于平台的EXE可执行文件。使用MATLAB语言编写的程序可以直接运行,无需编译。提供十分详细的帮助文件(PDF、HTML、demo文件)。联机查询指令:help指令(例:help elfun,help exp,help simulink),lookfor关键词(例:lookfor fourier)。MATLAB的应用接口程序API是MATLAB提供的十分重要的组件,由 一系列接口指令组成。用户就可在FORTRAN或C中,把MATLAB当作计算引擎使用。三、MA

15、TLAB运行环境介绍(一)MATLAB 提供两种运行方式(1)命令方式)命令方式直接在命令窗口输入命令来实现计算或作图功能(2)M文件运行方式文件运行方式单击FILENEWM-FILE打开M文件输入运行界面,输入程序文件。(具体又分为脚本文件和函脚本文件和函数文件数文件两种方式)。该运行方式优点是可以调试也可以重复使用。(二)MATLAB中的窗口简介(1)命令窗口(Command Window)a.启动启动MATLAB命令窗口命令窗口双击MATLAB图标,就可进入命令窗口,此时意味着系统处于准备接受命令的状态,可以在命令窗口中直接输入命令语句。b.MATLAB语句形式语句形式变量变量=表达式表

16、达式;键入回车键时,该语句被执行。窗口自动显示出语句执行的结果。如果希望结果不被显示,则只要在语句之后加上一个分号“;”c.命令行编辑器命令行编辑器方向键和控制键可以编辑修改已输入的命令 回调上一行命令 回调下一行命令命令窗口的分页输出more off:不允许分页 more on:允许分页more(n):指定每页输出的行数回车前进一行,空格键显示下一页,q结束当前显示。多行命令(多行命令()如果命令语句超过一行或者太长希望分行输入,则可以使用多行命令继续输入。如:S=1-12+13+4+9-4-18;(2)M文件窗口(3)起始面板(Launch Pad)(4)工作空间窗口(Workspace)

17、(5)命令历史窗口(Command History)(6)当前目录窗口(Current Directory)(7)图形窗口(Figure No)(8)GUI制作窗口(三)变量和数值显示格式(三)变量和数值显示格式1、变量(1)变量的命名:变量的名字必须以字母开头(不能超过31个字符),之后可以是任意字母、数字或下划线;变量名称区分字母的大小写;变量中不能包含有标点符号。(2)一些特殊的变量ans:用于结果的缺省变量名 i、j:虚数单位 pi:圆周率 nargin:函数的输入变量个数 eps:计算机的最小数nargout:函数的输出变量个数 inf:无穷大 realmin:最小正实数 realm

18、ax:最大正实数 nan:不定量 flops:浮点运算数(3)变量操作在命令窗口中,同时存储着输入的命令和创建的所有变量值,它们可以在任何需要的时候被调用。如要察看变量a的值,只需要在命令窗口中输入变量的名称即可:a2、数值显示格式任何MATLAB的语句的执行结果都可以在屏幕上显示,同时赋值给指定的变量,没有指定变量时,赋值给一个特殊的变量ans,数据的显示格式由format命令控制。format只是影响结果的显示,不影响其计算与存储;MATLAB总是以双字长浮点数(双精度)来执行所有的运算。如果结果为整数,则显示没有小数;如果结果不是整数,则输出形式有:format short 短格式(5位

19、定点数)99.1253format long 长格式(15位定点数)99.12345678900000format short e 短格式e方式 9.9123e+001format long e 长格式e方式 9.912345678900000e+001format bank 2位十进制 99.12format hex 十六进制格式(四)简单的数学运算(四)简单的数学运算1、常用的数学运算符,*(乘),/(左除),(右除),(幂)在运算式中,MATLAB通常不需要考虑空格;多条命令可以放在一行中,它们之间需要用分号隔开;逗号告诉MATLAB显示结果,而分号则禁止结果显示。2、常用数学函数abs

20、,sin,cos,tan,asin,acos,atan,sqrt,exp,imag,real,sign,log,log10,conj(共扼复数)等 (五)(五)MATLAB的工作空间的工作空间1、MATLAB的工作空间包含了一组可以在命令窗口中调用的参数who:显示当前工作空间中所有变量的一个简单列表whos:则列出变量的大小、数据格式等详细信息clear:清除工作空间中所有的变量clear 变量名:清除指定的变量2、保存和载入workspace(1)save filename variables将变量列表variables所列出的变量保存到磁盘文件filename中variables所表示的

21、变量列表中,不能用逗号,各个不同的变量之间只能用空格来分隔。未列出variables时,表示将当前工作空间中所有变量都保持到磁盘文件中。缺省的磁盘文件扩展名为“.mat”,可以使用“-”定义不同的存储格式(2)load filename variables将以前用save命令保存的变量variables从磁盘文件中调入MATLAB工作空间。用load 命令调入的变量,其名称为用save命令保存时的名称,取值也一样。variables所表示的变量列表中,不能用逗号,各个不同的变量之间只能用空格来分隔。未列出variables时,表示将磁盘文件中的所有变量都调入工作空间。3、退出工作空间quit

22、或 exit(六)(六)MATLAB指令中常用标点功能小结指令中常用标点功能小结(七)(七)MATLAB指令窗的常用控制指令指令窗的常用控制指令what:显示当前目录下所有与matlab相关的文件及它们的路径。cd path:由当前目录进入path目录cd.:返回上一级目录cd:显示当前目录delete filename:删除文件filename(八)Current Directory、路径设置器和文件管理 1、Current Directory 它可展示当前目录下最完整的文件目录列表,具有:运行文件,装载MAT文件,边界文件等功能。2路径设置(1)建立用户目录 可用md指令或图形窗口指令。(

23、2)把用户目录设置成当前目录方法一:可通过matlab窗口中“目录设置栏”和“浏览键”设置。方法二:通过cd指令设置 假设待设置的用户目录是c:mydir,则可通过指令cd c:mydir将其设置为当前目录。3 当前路径的扩展和修改(1)若用户有多个目录需同时与matlab交换信息,则应将它们放置在matlab的搜索路径上,使得该目录上的文件可被调用。(2)设置方法通过路径设置对话框通过路径设置对话框(引出该对话框法)在指令窗中运行pathtool;在matlab桌面菜单中选择【File:SetPath】注:此方式下路径修改可有当前有效修改和注:此方式下路径修改可有当前有效修改和永久有效修改两

24、种状态。永久有效修改两种状态。利用利用path指令指令格式如下:path(path,c:mydir)把c:mydir设置在搜索路径尾端Path(c:mydir,path)把c:mydir设置在搜索路径首端注:此法仅有当前有效修改状态注:此法仅有当前有效修改状态(九)九)Workspace Browser和和Array Editor1 Workspace 现场菜单的应用2 Array Editor数组编辑器和大数组的输入点亮Workspace浏览器中的任意一数组,双击,或选现场菜单【Open Selection】就可引出数组编辑器。如下大数组的输入在指令窗向一个新变量赋“空”阵在Workspac

25、e浏览器中双击该变量,打开数组编辑器。在数组编辑器上方输入行数和列数逐格填写元素,直到完成。(十)帮助系统1、在命令窗口中利用help命令显示MATLAB的所有函数都是以逻辑群组方式进行组织的,而MATLAB的目录结构就是以这些群组方式来编排的。help help:显示如何使用helplookfor命令:返回包含指定关键词的那些项help matfun:矩阵函数数值线性代数help general:通用命令help graphics:通用图形函数help elfun:基本的数学函数help elmat:基本矩阵和矩阵操作help datafun:数据分析和傅立叶变换函数help ops:操作符

26、和特殊字符help polyfun:多项式和内插函数help lang:语言结构和调试help strfun:字符串函数help control:控制系统工具箱函数2、“导航/浏览器”交互界面帮助 可用helpwin(helpdesk)、窗口菜单或工具条帮助图标引出。该界面由帮助导航器(Help Navigator)和帮助浏览器(Help Browser)两部分组成。3、PDF帮助(为让用户获得高质量的可打印帮助)4、演示帮助(demos)运行Desktop Enviroment中的示例十一 典型实例演示一、计算结果的可视化一、计算结果的可视化【例1】画出衰减振荡曲线 及其它的包络线 。t的取

27、值范围是 。t=0:pi/50:4*pi;%定义自变量取值数组定义自变量取值数组y0=exp(-t/3);%计算与自变量相应的计算与自变量相应的y0数组数组y=exp(-t/3).*sin(3*t);%计算与自变量相应的计算与自变量相应的y数组数组plot(t,y,-r,t,y0,:b,t,-y0,:b)%用不同颜色、线型绘制曲线用不同颜色、线型绘制曲线grid%在在“坐标纸坐标纸”画小方格画小方格 图图 1-1 衰减振荡曲线与包络衰减振荡曲线与包络【例2】画出 所表示的三维曲面。x,y的取值范围是-8,8。clear;x=-8:0.5:8;%定义自变量定义自变量x的一维刻度向量的一维刻度向量

28、y=x;%定义自变量定义自变量y的一维刻度向量的一维刻度向量X=ones(size(y)*x;%计算自变量平面上取值点坐标的二维数组计算自变量平面上取值点坐标的二维数组Y=y*ones(size(x)%计算自变量平面上取值点坐标的二维数组计算自变量平面上取值点坐标的二维数组R=sqrt(X.2+Y.2)+eps;%计算中间变量计算中间变量Z=sin(R)./R;%计算与自变量二维数组相应的函数值计算与自变量二维数组相应的函数值 mesh(Z);%绘制三维网格图绘制三维网格图colormap(hot)%指定网格图用指定网格图用hot色图绘制色图绘制 图 1-2 三维网线图二、二、Simulink示例示例【例例1】简单阶跃输入信号对传递函数的响应简单阶跃输入信号对传递函数的响应

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁