第四章 MATLAB编程基础 MATLAB基础与编程入门 教学课件.ppt

第四章 MATLAB编程基础 MATLAB基础与编程入门 教学课件.ppt

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

例子4-18 不确定的输出参数。 001 function varargout=varargout_example(varargin) 002 %VARARGOUT_EXAMPLE不确定个数的输出参数 003 004 % 判断输出参数的个数 005 % 下面注释行中的代码执行有错误 006 % str = sprintf(输出参数的个数:=%d,length(varargout)); 007 % 必须使用nargout 008 str = sprintf(输出参数的个数 :=%d,nargout); 009 disp(str); 010 if(nargout = nargin) 011 for k=1:nargout 012 varargout{k} = varargin{nargin-k+1}; 013 end 014 end 运行例子4-18的代码,在MATLAB命令行中,键入下面的指令: [a b] = varargout_example(1,2,3,4) 输出参数的个数 :=2 a = 4 b = 3 例子4-18的第006行代码,若将注释行符号“%”删除,则程序运行会出现错误。在程序中,若需要判断输出参数的个数不能使用length函数,而需要使用nargout函数。另外,在操作输出参数时,需要判断输出参数的个数,根据输出参数的个数完成相应的操作。 在使用不确定的输入、输出参数时,还可以像下面的代码行一样使用这两个参数: function [out1,out2] = example1(a,b,varargin) function [i,j,varargout] = example2(x1,y1,x2,y2,flag) 若使用varargout和varargin参数,除了必须给定的参数以外,其余的参数是任意数量可变的,具体的操作参阅例子4-19。 例子4-19 可变的输入、输出参数。 001 function [x,y,varargout] = vararginout(a,b,c,d,varargin) 002 %VARARGINOUT 可变的输入输出参数 003 str = sprintf(输入参数的个数:=%d,nargin); 004 disp(str); 005 str = sprintf(输出参数的个数:=%d,nargout); 006 disp(str); 007 if(nargin =4) 008 error(输入参数必须多于4个); 009 end 010 % 处理输入输出参数 011 x = a+b+c+d; 012 y = a-b+c-d; 013 if(nargout 2 nargin4) 014 for(i =1:nargout-2) 015 % 这里也许会出错,小心! 016 varargout{i} = varargin{end-i-1}; 017 end 018 end 运行例子4-19的代码,在MATLAB命令行中,键入下面的指令: vararginout(1, 2, 3, 4, 5) 输入参数的个数: =5 输出参数的个数: =0 ans = 10 [a,b,c]=vararginout(1, 2, 3, 4, 5, 6, 7, 8) 输入参数的个数: =8 输出参数的个数: =3 a = 10 b = -2 c = 6 4.4.3 子函数和私有函数 同一个M函数文件中可以包含多个函数。如果在同一个M函数文件中包含了多个函数,那么将出现在文件中的第一个M函数称为主函数(primary function),其余的函数称为子函数(subfunction)。M函数文件的名称一般与主函数的名称保持一致,其他函数都必须按照函数的基本结构来书写,每一个函数的开始都是函数定义行,函数的结尾是另一个函数的定义行的开始或者整个M文件的结尾(最后一个子函数的结尾就是文件结束符)。不过,子函数不像主函数,一般子函数没有在线帮助,子函数的作用范围有限,它只能被那些在定义子函数的M文件中定义的函数(包括主函数和其他子函数)调用,不能被其他M文件定义的函数调用。 例子4-20 子函数应用例子。 001 function [avg,med] = newstats(u) % 主函数 002 % NEWSTATS 计算均值和中间值 003 n = length(u); 004 avg = mean(u,n); % 调用子函数 005 med =

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档