MATLAB程序设计46906.ppt

  1. 1、本文档共113页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
为查找运行错误,可采用下列技术: ◆ 在可能发生错误的M 文件中,删去某些语句行末的分号,使显示其运行中间结果,从中可发现一些问题; ◆ 在M 文件的适当位置上加上keyboard 命令,使在执行时在此暂停,从而检查局部工作空间中变量的内容,从中找到出错的线索,利用return 命令可恢复程序的执行; ◆ 注释掉M 函数文件的函数定义行,使函数文件转变成命令文件,这样在程序运行出错时,可查看M 文件产生的中间变量;注意,局部变量之间应避免冲突; ◆ 使用MATLAB 提供的Debugger,Debugger 为我们提供了下列功能: ? 设置/清除断点; ? 单步执行; ? 继续执行; * MATLAB 的调试技术大体要经过以下步骤: 第一步: 分段设置断点 一开始并不能肯定问题所在,我们总是按照执行顺序分段执行,以期望能够找到出错的程序段。为此在程序 中设置断点,并执行程序: 第二步:清除断点 第三步:调试嵌套函数 四、单步执行 五、修改并重新执行 找到了问题所在,修改源程序并重新执行,如仍有问题,继续上述过程进行调试,直到程序执行正确。 * 设置断点 取消断点 单步运行 进入函数 跳出函数 退出调试 继续运行 * 3.3 调试命令 除了采用调试器调试程序外,MATLAB还提供了一些命令用于程序调试。命令的功能和调试器菜单命令类似 dbstop - Set breakpoint. dbclear - Remove breakpoint. dbcont - Resume execution. dbdown - Change local workspace context. dbmex - Enable MEX-file debugging. dbstack - List who called whom. dbstatus - List all breakpoints. dbstep - Execute one or more lines. dbtype - List M-file with line numbers. dbup - Change local workspace context. dbquit - Quit debug mode. * 四、程序举例 例21 猜数游戏。首先由计算机产生[1,100]之间的随机整数,然后由用户猜测所产生的随机数。根据用户猜测的情况给出不同提示,如猜测的数大于产生的数,则显示“High”,小于则显示“Low”,等于则显示“You won”,同时退出游戏。用户最多可以猜7次。 * 程序如下: %Play the game of guess the number x=fix(100*rand); %a random number calculated by the computer n=7; test=1; for k=1:7 numb=int2str(n); disp([You have a right to ,numb, guesses]) disp([A guess is a number between 0 and 100]) guess=input(Enter your guess:); * if guessx disp(Low) elseif guessx disp(High) else disp(You won) test=0; break; end n=n-1; end if test==1 disp(You lost) end * * 1.编写程序计算([-3, 3],步长0.01) 并画出在[-3, 3]上的曲线。 习题 * clear x=[];i=1; for x1=-3:0.01:(-1+0.01); y1(i)=(-x1.^2-4.*x1-3)/2; x(i)=x1; i=i+1; end plot(x,y1) j=1;y=[]; for x2=-1:0.01:1-0.01 y2(j)=-x2.^2+1; y(j)=x2; j=j+1; end hold on plot(y,y2) k=1; z=[]; for x3=1:0.01:3 y3(k)=(-x3.^2+4*x3-3)/2; z(k)=x3; k=k+1; end

文档评论(0)

xinshengwencai + 关注
实名认证
内容提供者

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

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档