matlab第7-8讲byXR.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
matlab第7-8讲byXR

第二个程序用函数的递归调用: function Y=rndprm2(X) %RNDPRM2 用递归调用产生一个行向量的任意排列 %RNDPRM2(X)产生一个X的任意排列 [m,n]=size(X); l=n; if m1 error(RNDPRM2 accepts as inputs only vectors) end if n=1 Y=X; else k=1+fix(l*rand); %随机选择Y的下一个元素的位置 x=X(k); %被选择的元素 X(k)=[]; %从X中删除x元素 Z=rndprm2(X); %将剩下的元素随机排列 Y=[Z,x]; %构造输出向量 l=l-1; end 4.3.3 函数参数的可调性 在调用函数时,MATLAB用两个永久变量nargin和nargout分别记录调用该函数时的输入实参和输出实参的个数。只要在函数文件中包含这两个变量,就可以准确地知道该函数文件被调用时的输入输出参数个数,从而决定函数如何进行处理。 * nargin用法示例 函数文件examp.m: function fout=charray(a,b,c) if nargin==1 fout=a; elseif nargin==2 fout=a+b; elseif nargin==3 fout=(a*b*c)/2; end 命令文件mydemo.m: x=[1:3];y=[1;2;3]; examp(x) examp(x,y) examp(x,y,3) 执行mydemo.m后的输出是: ans = 1 2 3 ans = 2 4 6 ans = 21 4.3.4 全局变量与局部变量 全局变量用global命令定义,格式为: global 变量名 例4.21 全局变量应用示例。 先建立函数文件wadd.m,该函数将输入的参数加权相加。 function f=wadd(x,y) %add two variable global ALPHA BETA f=ALPHA*x+BETA*y; 在命令窗口中输入: global ALPHA BETA ALPHA=1; BETA=2; s=wadd(1,2) 输出为: s = 5 4.4 程序调试 4.4.1 程序调试概述 一般来说,应用程序的错误有两类,一类是语法错误,另一类是运行时的错误。语法错误包括词法或文法的错误,例如函数名的拼写错、表达式书写错等。 程序运行时的错误是指程序的运行结果有错误,这类错误也称为程序逻辑错误。 4.4.2 MATLAB调试菜单 MATLAB的M文件编辑器除了能编辑修改文件外,还能对程序进行调试。通过调试菜单,可以查看和修改函数工作空间中的变量,从而准确地找到运行错误。通过调试菜单设置断点可以使程序运行到某一行暂停运行,这时可以查看和修改各个工作空间中的变量。通过调试菜单可以一行一行地运行程序。下面介绍调试菜单Debug。 程序调试概述 一般说来,应用程序的错误有两类,一类是语法错误,另一类是运行时的错误。 语法错误,给出相应的错误信息,并标出错误在程序中的行号。例如: 输入下列程序: A = 87; B = 9.3; C = A+*B; 系统将给出错误信息: ??? Error: File: Untitled1.m Line: 3 Column: 7 Unexpected MATLAB operator. 通过分析Matlab给出的错误信息,不难排查程序中的语法错误。 Matlab对程序逻辑错误时无能为力的,不会给出任何提示信息。可以通过调试手段来发现。 采取的方法如下: ① 将程序的一些主要中间结果输出到命令窗口,从而确定错误的区段。 ② 使用Matlab的调试菜单(debug),通过图像界面操作来实现程序调试。 ③ 或使用命令方式来实现程序调试。 Matlab调试菜单 2. 断点操作 stop if error/warnings: 在程序 执行出现错误或警告时,停止 程序运行,进入调试状态。 1、控制单步运行 step:单步运行,不进入函数; step in: 单步运行,进入函数; step

文档评论(0)

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

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

1亿VIP精品文档

相关文档