- 12
- 0
- 约9.57千字
- 约 58页
- 2017-07-21 发布于湖北
- 举报
4.2.2 局部变量和全局变量(续) 例如对exm04_funfile.m 进行如下修改: %exm04_funfile.m %exm04 funfile2.m function m=SIGN(y) function m=SIGN if y0 global m= -1; if Y0 elseif y=0 m=-1; m=0; elseif Y=0; else m=0; m=1; else end m=1; end 4.2.2 局部变量和全局变量(续) 则指令窗中执行指令改为 global Y;Y=-5; f=exm04_funfile2 f = -1 可见利用全局变量可以实现函数间参数的传递, 但是破坏函数的封装性,因此不提倡使用全局变量。 4.2.3 M文件的一般结构 1)函数声明行:以关键字“function”开头,包括函数名以及输入输出宗量列表。 2)H1行(用%开头的第一注释行):包括大写函数名,对函数功能的简要描述,主要用 于关键词查询和help在线帮助。 3)在线帮助文本(用%开头):包括对函数输入输出宗量的解释、函数调用格式等。执行指令help funname将显示第一注释行和在线帮助文本的内容。 4)编写和修改记录(用%开头):与注释行间用“空行”分隔,标志该文件的作者、日期、版本等信息。 5)函数体?:与前面的注释行以“空行”分隔,由完成函数功能的命令行组成。函数体中可以加入以“%”开头的注释语句。 4.2.3 M文件的一般结构(续) M函数文件的必要组成部分是“函数声明行”和“函数体”,其他仅为增加可 读性和方便使用而设。 function y=Ex0502(zeta) 函数声明行 % EX0502 Step response of quadratic system. 第一注释行 % 二阶系统时域响应曲线 % zeta 阻尼系数 帮助文本 % y 时域响应 % % copyright 2003-08-01 编写记录 函数主体 x=0:0.1:20; y=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt(1-zeta^2)*x+acos(zeta)) plot(x,y) 注意:脚本文件没有函数声明行 4.3 变量的检测传递和限权使用函数 4.3.1 输入输出变量检测函数 nargin 在函数体内获取实际输入变量的个数 nargout 在函数体内获取实际输出变量的个数 nargin(‘fun’) 在函数体外获取’fun’指定函数的输入参数个数 nargout(‘fun’) 在函数体外获取’fun’指定函数的输出参数个数 inputname(n) 在函数体内返回第n个输入变量的实际调用变量名 varargin/varargout 可以获得输入/输出变量的各元素内容—“变长度“变量列表 例4.3 输入输出宗量的使用 算例演示: 例4.3 输入输出宗量的使用(续) 函数声明行中,“变长度”输入输出变量必须在“普通”输入输出变量之后; varargin和varargout 本身是元胞数组,当变量被依次分配给“普通”输入输出变量后,剩余变量被逐个分配给varargin和varargout 的元胞; varargin和varargout的长度取决于分配的输入输出变量数。 4.3.2 子函数和私用函数 1. 子函数 在一个M函数文件中,可以包含多个函数,第一个出现的是
您可能关注的文档
最近下载
- 核电站主设备结构2012年11月27日.pdf VIP
- 电机学(第七版)(修订版)习题答案 刘新正 ElectricMachineryEdition7Solutions.pdf
- Access2-中文手册.pdf VIP
- 低碳智慧园区综合能源管控解决方案.pptx
- DB64T 1807-2021设施高糖鲜食番茄复合基质栽培技术规程.docx VIP
- 澳门房地产市场分析.doc VIP
- 天津新蕾版快乐英语第四册小学二年级下学期课文翻译.pdf VIP
- (2023年)湖南省衡阳市【统招专升本】计算机真题(含答案).docx VIP
- 22.1 能源利用的现状和面临的挑战 22.2 新能源的发展 教案(表格式) 初中物理人教版九年级全一册.docx VIP
- 2025年中国泛社交媒体趋势白皮书.pdf VIP
原创力文档

文档评论(0)