文档帮助中心文档
中所有局部函数的句柄MATLAB文件
fcns = localfunctions
例子
fcns = localfunctions返回函数句柄的单元格数组,fcns,到当前文件中的所有本地函数。
fcns
您不能在命令行或匿名函数的上下文中定义本地函数,因此当您调用localfunctions从这些上下文中,您将得到一个空单元格数组。在单元格数组中,localfunctions以未定义的顺序返回函数句柄。
localfunctions
全部折叠
在文件中创建以下函数:computeEllipseVals.m,在您的工作文件夹中。该函数返回所有本地函数的句柄单元格数组。
computeEllipseVals.m
函数fh = computeEllipseVals fh = localfunctions;结束函数f =√(a^2-b^2);结束函数f = computeFocus(a,b);e = f / a;结束函数ae = computeArea(a,b) ae = pi*a*b;结束
在命令提示符处,调用该函数以获得本地函数句柄的单元格数组。
跳频= computeEllipseVals
fh = 3x1 cell array {@computeFocus} {@computeEccentricity} {@computeArea}
使用句柄调用局部函数来计算椭圆的面积。的computeArea函数句柄是单元格数组中的第三个元素。
computeArea
跳频{3}(3,1)
ans = 9.4248
从R2016b开始,您可以在脚本中包含本地函数。因此,您可以使用localfunctions函数创建可以在脚本或命令提示符中调用的函数句柄。
在文件中创建以下脚本:mystats.m,在您的工作文件夹中。该脚本创建了一个包含所有本地函数句柄的单元格数组。
mystats.m
X = [1 3 5 7 9 10 8 6 4 2 0 -2];Avg = mymean(x) fh = localfunctions;地中海= fh {2} (x)%等价于med = mymedian(x,n)函数A = mymean(v) n = length(v)一个= (v) / n;结束函数M = mymedian(v) n = length(v)w = (v)进行排序;如果Rem (n,2) == 1 m = w(n + 1)/2);其他的M = w(n/2) + w(n/2 + 1))/2;结束结束
运行脚本。MATLAB®通过直接调用mymean局部函数来计算平均值,通过调用中值来计算中值mymedian通过函数句柄实现局部函数。
mymedian
mystats
平均值= 4.4167 med = 4.5000
在命令提示符处,调用mymean使用句柄的局部函数。脚本中的变量可以在命令提示符处访问。的mymean函数句柄是单元格数组中的第一个元素。
mymean
X2 = [1 12 6 24 120 720 5040];Fh avg2 = Fh {2}(x2)
Fh = 2x1 cell array {@mymean} {@mymedian} avg2 = 15
functiontests
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系