




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
M文件M文件就是由matlab语言编写的可在matlab语言环境下运行的程序源代码文件。Matlab语言中的M文件可分为命令式(script)和函数式(function)两种形式。M文件可在matlab的程序编辑器中编写,也可在其他的文本编辑器中编写,并以“.m”为扩展名加以保存,这类文件的第一行必须是一特殊字符function开始,格式为: function[y1,y2,…]=fun(x1,x2,…) fun是函数名,x1,x2,…是输入变量,y1,y2,…是输出变量。第一行:函数声明行函数变量及变量作用域 M文件的变量主要有输入变量、输出变量及函数内部变量。输入变量相当于函数的入口数据,是一个函数操作的主要对象。函数的作用就是对输入变量进行加工以实现一定的功能。函数的输入变量为形式参数,即只是传递变量的值而不是变量的地址,函数对输入变量的一切的操作和修改如果不依靠输出变量传出的话,将不会影响工作空间中该变量的值。 matlab语言提供了函数nargin来控制输入变量的个数,即可以实现不定参数输入的操作。 例如:在函数test1中,如果调用过程时只提供一个输入变量,则求该输入变量的模;如果是两个输入变量,则求两个输入变量的和 %如果调用过程时只提供一个输入变量,则求该输入变量%的模;如果是两个输入变量,则求两个输入变量的和 functionc=test1(a,b) ifnargin==1 c=norm(a); elseifnargin==2 c=a+b; end 在工作窗口调用: >>a=[234] a= 234 >>test1(a) ans= 5.3852 >>b=3; >>test1(a,b) ans= 567同时,matlab语言还提供了另一个针对输入变量的函数varargin。该函数可以实现不定数目输入变量的函数的程序设计。此时,对函数的一切输入变量均将存储在以varargin命名的单元型数组中。 例:在函数test2中,实现如下功能: 通过使用函数varargin,用户可以输入任意多个学生的数学、英语及语文的成绩,然后求各科目的平均值。 程序如下: function[mathavg,englishavg,chineseavg]=test2(varargin) s=length(varargin);%求数组的长度 mathsum=0; englishsum=0; chinesesum=0; forj=1:s mathsum=mathsum+varargin{j}(1); englishsum=+varargin{j}(2); chinesesum=+varargin{j}(3); end mathavg=mathsum/s; englishavg=englishsum/s; chineseavg=chinesesum/s; 思考:此函数如何调用。 与输入变量相对应,matlab语言对输出变量也提供了相应的函数,如nargout、varargout等。具体的使用与函数nargin和varargin相似。 下面给出一个综合应用示例。 示例函数test3中,综合使用了函数nargin、nargout、narargin、narargout等,函数目的是求各学生(总数不确定)的个人平均成绩,以及指定科目的平均成绩等。 在matlab中,函数内部定义的变量除特殊声明外均为局部变量。如果需要使用全局变量,则应当使用命令global定义,而且在任何使用该全局变量的函数中都应加以定义,在命令窗口中也不例外。 注意:变量之间必须以空格分隔,而不能用逗号分隔。 示例:子函数与局部函数 Matlab中也可以定义子函数,用来扩充函数的功能。在函数文件中题头定义的函数为主函数,而在函数体内定义的其他函数均被视为子函数。子函数只能为主函数或同一主函数下的其他的子函数所调用。 示例:局部函数与子函数的区别是:局部函数可以被其父目录下的所有函数所调用,而子函数则只能被其所在M文件的主函数所调用;在函数编辑的结构上,局部函数与一般的函数文件的编辑相同,而子函数则只能在主函数文件中编辑。程序设计的辅助函数 用户交互函数 键盘输入函数包括函数input及keyboard。 函数input用于提示用户输入指定参数的值,调用格式: var=input(‘提示性语句’) 其中,“提示性语句”将给出相应的提示信息以告知用户输入的对象,在这种调用过程中,用户可以有键盘输入任何的可计算的表达式或已赋值的当前工作空间中的变量名,而且返回至变量var中的值也是数值型,所有的输入以回车键加以确认。 第一种调用格式: >>a=input('inputexample\n') inputexample 1+4 a= 5 >>ischar(a) ans= 0另一种输入函数为ke

王子****青蛙
实名认证
内容提供者


最近下载
最新上传
浙江省宁波市2024-2025学年高三下学期4月高考模拟考试语文试题及参考答案.docx
汤成难《漂浮于万有引力中的房屋》阅读答案.docx
四川省达州市普通高中2025届第二次诊断性检测语文试卷及参考答案.docx
山西省吕梁市2025年高三下学期第二次模拟考试语文试题及参考答案.docx
山西省部分学校2024-2025学年高二下学期3月月考语文试题及参考答案.docx
山西省2025年届高考考前适应性测试(冲刺卷)语文试卷及参考答案.docx
全国各地市语文中考真题名著阅读分类汇编.docx
七年级历史下册易混易错84条.docx
湖北省2024-2025学年高一下学期4月期中联考语文试题及参考答案.docx
黑龙江省大庆市2025届高三第三次教学质量检测语文试卷及参考答案.docx