第5章 MATLAB程序设计[整理].pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
;;;;;;;【例5.4】 根据不同的分段表达式 ,绘制分段函数曲线,曲线如图5.1所示。 ;;;;;;;;;;;MATLAB产生动画的方式有影片方式和对象方式2种。 (1)影片方式。影片方式以图像的方式预存多个画面,再将这些画面逐帧播放,就可以得到动画的效果。这种方式类似于电影的原理,可以制作精美的图像,而播放速度快,不会有不连贯的感觉。但是其缺点是每个画面都必须事先准备,无法进行实时成像,而且每个画面的存储都需要占用相当大的内存空间。 (2)对象方式。对象方式保持图形窗口中大部分对象即整个背景不变,而只更新部分运动的对象,以便加快整幅图像的实时生成速度。使用对象方式所产生的动画,可以实现实时的变化,也不需要太高的内存需求。但其缺点是无法产生太复杂的动画。 ;1.以电影方式产生动画 以电影方式产生动画,有以下2个步骤。 (1)使用getframe命令抓取图形作为画面,每个画面都是以1个列向量的方式,置于存放整个电影的矩阵M中。 (2)使用movie(M,k)命令播放电影,并可指定矩阵M播放的重复次数k。 【例5.9】 使用电影方式制作动画并显示,最后一幅画面如图5.2所示。 ;;2.以对象方式产生动画 (1)擦除属性EraseMode。以对象方式产生动画需要设置EraseMode属性。EraseMode为1个字符串,代表对象的擦除方式,即对于旧对象的处理方式。EraseMode属性有以下几种。 ① normal:计算整个画面的数据,重画整个图形。 ② xor:将旧对象的点以xor的方式还原,即只画与屏幕色不一致的新对象点,擦除不一致的原对象点,这种方式不会擦除被擦对象下面的其他图像。 ③ background:将旧对象的点变成背景颜色,实现擦除,这种方式会擦除被擦对象下的其他图像。 ④ none:保留旧对象的点,不进行任何擦除。 在上述4种EraseMode属性中,耗费时间的次序是:normalxorbackgroundnone。 ;(2)对象的位置属性。通常在动画过程中,会改变对象的位置、尺寸或颜色等外观属性。位置属性有如下2种。 ① xdata:为1个向量,代表对象的x坐标值。 ② ydata:为1个向量,代表对象的y坐标值。 (3)屏幕刷新。当新对象的属性设置后,应刷新屏幕,使新对象显示出来,刷新屏幕用drawnow命令实现。drawnow命令使MATLAB暂停当前的任务序列而去刷新屏幕,如果没有drawnow命令,MATLAB则会等当前的任务序列执行完才去刷新屏幕。 (4)产生动画。产生动画的具体步骤是:首先产生1个对象,其EraseMode属性为xor、background或none;然后在循环中产生动画,每次循环改变此对象的xdata或ydata(或两者);最后使用drawnow命令刷新屏幕。 ;;图5.3 运行界面;5.2.1 M文件编辑器 单击MATLAB界面工具栏的 图标,或者工具栏的 “New”图标→“Script”命令创建新的M脚本文件。选择工具栏的 “New”图标→“Function”可以创建空白的M函数文件。如图5.4(a)所示为空白的M脚本文件编辑器,如图5.4(b)所示为M函数文件编辑器。 ;脚本文件具有如下特点。 (1)脚本文件中的命令格式和前后位置,与在命令窗口中输入时没有任何区别。 (2)MATLAB在运行脚本文件时,只是简单地按顺序从文件中读取一条条命令,送到MATLAB命令窗口中去执行。 (3)与在命令窗口中直接运行命令一样,脚本文件运行产生的变量都是驻留在MATLAB的工作空间(workspace)中,可以很方便地查看变量,除非用clear命令清除;脚本文件的命令也可以访问工作空间的所有数据,为此要注意避免变量的覆盖而造成程序出错。 ;;(3)选择M文件编辑器菜单“Debug”→“Run”命令,运行界面如图5.5所示。 ;;;;;;;M函数文件的函数通过函数调用才会被执行,函数执行时注意下列几点。 (1)函数文件在运行过程中产生的变量都存放在函数本身的工作空间中。 (2)当文件执行完最后1条命令或遇到“return”命令时结束函数文件的运行,同时函数工作空间的变量被清除。 (3)函数的工作空间随具体的M函数文件调用而产生,随调用结束而删除,是独立的,临时的。在MATLAB运行过程中可以产生任意多个临时的函数空间。 ;5.3.1 子函数和私有函数 1.子函数 在1个M函数文件中,可以包含1个以上的函数,其中只有一个是主函数,其他均为子函数。 (1)在1个M文件中,主函数必须出现在最上方,其后是子函数,子函数的次序无任何限制。 (2)子函数不能被其他文件的函数调用,只能被同一文件中的函数(可以是

文档评论(0)

xxj1658888 + 关注
实名认证
文档贡献者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档