Matlab |
您所在的位置:网站首页 › 声明的函数不在文件内部 › Matlab |
脚本和函数的区别
函数:定义输入参数和输出参数的对应关系,方便外部调用,有函数 Function...end 声明。 脚本:一堆命令堆在一起,按照顺序执行,完成某一项任务的文件。没有 Function 函数声明。 函数定义: Function 输出变量=函数名称(输入变量) 语句; end; function用来定义函数,一般一个函数放在一个.m文件里。举个简单的例子建立一个myfunction.m,然后在文件中写。 function y=myfunction(a,b) 其中a,b是输入函数的参数,y是函数返回的值。当需要返回多个值时,可以将y看作一个数组,或者直接将函数的开头写成如function [x,y]=myfunction(x,y)的形式。 然后就是定义函数的内容,通俗的说就是怎样由输入参数a,b得到返回值y。比如最简单的y=a+b。 总结一下,将下面的代码 function y=myfunction(a,b) y=a+b; 保存为一个m文件myfunction.m,调用方式如下。 num=myfunction(3,4); 这样就可以由函数中的y=a+b得到num的值是3+4=7。 无返回值函数定义: function yourfcn(a,b,c) 在脚本中创建局部函数从 R2016b 开始,MATLAB® 脚本(包括实时脚本)可以包含用于定义函数的代码。这些函数称为局部函数。局部函数在您要重用脚本中的代码时很有用。通过添加局部函数,可以避免创建和管理单独的函数文件。在尝试不同函数时,局部函数也很有用,可根据需要轻松添加、修改和删除它们。 创建包含局部函数的脚本要创建包含局部函数的脚本或实时脚本,请转至主页选项卡,然后选择新建 > 脚本或新建 > 实时脚本。然后,向脚本中添加代码。在文件末尾的脚本代码后,添加所有局部函数。在局部函数之前包含至少一行脚本代码。每个局部函数必须以其自己的函数定义语句开头,以 end 关键字结尾。函数可以按任意顺序显示。 例如,创建名为 mystats.m 的脚本。 edit mystats在文件中,包括两个局部函数,mymean 和 mymedian。脚本 mystats 声明一个数组,确定数组的长度,然后使用局部函数 mymean 和 mymedian 计算数组的平均值和中位数。 x = 1:10; n = length(x); avg = mymean(x,n); med = mymedian(x,n); function a = mymean(v,n) % MYMEAN Local function that calculates mean of array. a = sum(v)/n; end function m = mymedian(v,n) % MYMEDIAN Local function that calculates median of array. w = sort(v); if rem(n,2) == 1 m = w((n + 1)/2); else m = (w(n/2) + w(n/2 + 1))/2; end end当您在实时脚本中添加局部函数时,MATLAB 会自动在第一个局部函数的定义之前添加一个分节符,并删除该函数后面的所有分节符。这是因为实时脚本不支持局部函数中的单个节。 运行具有局部函数的脚本要运行包含局部函数的脚本或实时脚本,请在编辑器或实时编辑器选项卡中,点击 要运行单个节,请将光标放在该节内,并使用 局部函数仅在定义了这些函数的文件中可见。它们对其他文件中的函数不可见,并且不能从命令行窗口来调用。 当前文件中的局部函数优先于其他文件中的函数。即,当您在脚本内调用某个函数时,MATLAB 会先检查该函数是否为局部函数,然后在其他位置查找该函数。这样您可以在创建特定函数的备用版本的同时,将原始版本保留在另一文件中。 脚本可在基础工作区中创建变量并进行访问。局部函数与所有其他函数类似,具有与基础工作区分开的专属工作区。局部函数无法访问其他函数的工作区或基础工作区中的变量,除非您将这些变量作为参数传递。 访问有关局部函数的帮助虽然您不能从命令行或其他文件中的函数调用局部函数,但您可以使用 help 命令访问其帮助。同时指定脚本和局部函数的名称,用 > 字符将它们隔开。 例如: help mystats>mymean mymean Local function that calculates mean of array. |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |