周M文件及程序调试PPT课件.ppt
《周M文件及程序调试PPT课件.ppt》由会员分享,可在线阅读,更多相关《周M文件及程序调试PPT课件.ppt(43页珍藏版)》请在咨信网上搜索。
1、2.6M文件及程序调试河西学院物电系2010/01/231.在入门阶段,通常让MATLAB工作在行命令模式下,键入一行命令后,系统立即执行该命令,用这种方法时,程序可读性很差且难以存储。解决复杂的问题应该用命令编成可存储的程序文本,再让MATLAB执行该程序文件,这种工作模式称为程序文件模式。由MATLAB语句构成的程序文件称为文件,它以m作为文件的扩展名。例如,文件expml.m用来计算矩阵指数函数的值。因为它是ASCII文本文件,所以可以直接阅读并用任何编辑器来建立。前言2.文件可分为两种:一种是主程序,也称为主程序文件(ScriptFile),是由用户为解决特定的问题而编制的;另一种是子
2、程序,也称为函数文件(FunctionFile),它必须由其他M文件来调用,函数文件往往具有一定的通用性,并且可以进行递归调用(即自己可以调用自己)。MATLAB的基础部分中已有了近800个函数文件,它的工具箱中还有千余个函数文件,并在不断扩充积累。MATLAB软件的大部分功能都是来自其建立的函数集,利用这些函数可以使用户方便地解决他们的特定问题。3.2.6.1主程序文件主程序文件的格式特征如下:(1)用clear,closeall等语句开始,清除掉工作空间中原有的变量和图形,以避免其他已执行的程序残留数据对本程序的影响。前几行通常是对此程序用途的说明,特别是在运行时对用户输入数据的要求,更要
3、叙述清楚,不然别人就看不懂也用不成,连自己日后也会遗忘。这些注释行必须以“”开始,以便计算机执行时不予理会。MATLAB规定,在键入help文件名时,屏幕上会将该文件中以“”起头的最前面各行内容显示出来,使用户知道如何使用。这些注释是可以用汉字的。“”也可以放在程序行的后面,MATLAB将不执行该字符后的任何内容。4.2.6.1主程序文件(2)以下是程序的主体。如果文件中有全局变量,即在子程序中与主程序共用的变量,应在程序的起始部分注明。其语句是Global变量名1变量名2为了改善可读性,要注意流程控制语句的缩进及与end的对应关系。另外,程序中必须都用半角英文字母和符号(只有引号括出的和“”
4、后的内容可用汉字)。特别要注意英文和汉字的有些标点符号(如句号、冒号、逗号、分号、引号乃至、()等),看起来很相似,其实代码不同,用错了,不但程序执行不通,而且几乎必定死机。因此键入程序时,最好从头到尾用英文,不要插入汉字。汉字可在程序调试完毕后加入。用MATLAB的编辑器比较好,因为它对出现的非法字符会显示出特殊的颜色,引起用户的注意。并且在它的菜单项【Text】下,选【SmartIndent】项可以自动对程序进行缩进排版。5.2.6.1主程序文件(3)整个程序应按MATLAB标识符的要求起文件名,并加上后缀m。文件名长度不要超过八个字符。不允许用汉字,因为这个文件名也就是MATLAB的调用
5、命令,它是不认汉字的。将文件存入自己确定的子目录中,该子目录应置于MATLAB的搜索路径下。完成程序编制,并在MATLAB的命令窗中键入此程序的文件名后,系统就开始执行文件中的程序,主程序文件中的语句将对工作空间中的所有数据进行运算操作。6.2.6.1主程序文件【例例2-6-1】要求列写一个求Fibonnaci数的程序。它是一个数列,从1,1开始,由数列的最后两个元素之和生成新的元素,依次递推。其程序如下:%计算Fibonnaci数的M文件clear,closeallN=input(输入最大数值范围N=)f=1,1;i=1;%变量的初始化whilef(i)+f(i+1)f,plot(f)%显示
6、和绘图Fibonacci数是数列f1,f2,f3的元素,这里f1=f2=1,且若n是正整数。7.2.6.1主程序文件将此程序以文件名fibon.m存入某一MATLAB搜索目录下。在MATLAB命令窗中键入fibon,系统就开始执行这个程序,它首先会要求用户输入N,然后计算数值小于N的Fibonnaci数,并绘出图线。设输入N100,得出(图线略)f=11235813213455898.2.6.1主程序文件打开一个新的文本编辑窗,在此写程序,即可保存、调用键入保存的文件名,即可调用该程序。该文件执行结束,变量和仍保存在工作空间中。9.2.6.1主程序文件10.2.6.1主程序文件【例例2-6-2
7、】列出求素数的程序。所谓素数就是只能被它自身和1整除的数。程序如下:%求素数(primenumber)的程序clear,closeallN=input(N=),x=2:N;%列出从2到N的全部自然数foru=2:sqrt(N)%依次列出除数(最大到N的平方根)n=find(rem(x,u)=0&x=u);%找能被u整除而不等于u的数序号x(n)=;%剔除该数end,x%循环结束,显示结果以prime.m为名存入系统,就可以执行了。给出N=40,结果为x=2357111317192329313711.2.6.1主程序文件建立M文件clcClearcloseallN=input(N=),x=2:N
8、;foru=2:sqrt(N)n=find(rem(x,u)=0&x=u);x(n)=;end,x以prime.m为名存入系统,就可以执行了。给出N=40,结果为给出N=40,结果为12.2.6.2人机交互命令在执行主程序文件时,往往还希望在适当的地方对程序的运行进行观察或干预,这时就需要人机交互的命令,调试程序时,人机交互命令更不可少。下面介绍几条人机交互命令,见表2-13。13.2.6.2人机交互命令14.2.6.2人机交互命令echoon(off):一般情况下,文件中的命令不会显示在屏幕上。而在命令echoon之后,会在执行每行程序前先显示其内容。pause(n):程序执行到此处,暂停n
9、秒,再继续执行。如果没有括号参数,则等待用户键入任意键后才继续执行。keyboard:程序执行到此处暂停,在屏幕上显示字符K,并把程序的输入和执行权交给用户(键盘)。用户可以像在普通MATLAB命令窗中那样进行任何操作(例如检查中间结果等)。如果需要系统恢复运行原来的程序,只需键入字符串return。在文件中设置该命令,有利于进行程序调试以及临时修改变量内容。15.2.6.2人机交互命令input(提示文字):程序执行到此处暂停,在屏幕上显示引号中的提示字符串。要求用户输入数据。如程序为Xinput(X=),则屏幕上显示“X=”,输入的数据将赋值给X。数据输入后,程序继续运行。input命令也
10、可以接受字符,其格式为Y=input(提示文字,s),此时Y将等于输入的字符串。C:强行停止程序运行的命令。C读作(ControlC),即先按下Ctrl键,不抬起再按C键。在发现程序运行有错或运行时间太长时,可用此方法中途终止它。menu:是用来产生人机交互备选菜单的命令,参阅help文件。uimenu,uicontrol:这些是用来产生人机交互面板按钮的命令,参阅help文件。后面两条命令是在编制较复杂的程序的图形界面时使用的,无法用三言两语说明。读者可在用到时再去查阅有关资料。16.2.6.2人机交互命令键入echoon再调用prime,会在执行每行程序前先显示其内容。键入echooff,
11、则不再显示。17.2.6.2人机交互命令键入keyboard程序执行到此处暂停,在屏幕上显示字符K,并把程序的输入和执行权交给用户(键盘)。我们可以像在普通MATLAB命令窗中那样进行任何操作(例如检查中间结果等)。如果需要系统恢复运行原来的程序,只需键入字符串return。在文件中设置该命令,有利于进行程序调试以及临时修改变量内容18.2.6.2人机交互命令input命令也可以接受字符,其格式为Y=input(提示文字,s),此时Y将等于输入的字符串。19.2.6.2人机交互命令键入K=menu(Chooseacolor,Red,Blue,Green)回车,产生一一菜单。点击其中一个按钮,比
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 文件 程序 调试 PPT 课件
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。