这个例子展示了如何创建局部函数句柄。如果一个函数返回局部函数句柄,你可以在main函数之外调用局部函数。这种方法允许您在一个文件中有多个可调用的函数。
在文件中创建以下函数,ellipseVals.m
,在你的工作文件夹中。该函数返回一个带有局部函数句柄的结构体。
The MathWorks, Inc.版权所有函数fh =椭圆专注= @computeFocus;跳频。离心率= @computeEccentricity;跳频。面积= @computeArea;结束函数f = sqrt(a^2-b^2);结束函数f = computeFocus(a,b);e = f / a;结束函数ae = computeArea(a,b) ae = pi*a*b;结束
调用函数获取结构体
局部函数句柄的。
h = ellipseVals
h = struct with字段:focus: @computeFocus偏心量:@ compute偏心量area: @computeArea
使用函数句柄调用局部函数来计算椭圆的面积。
h.area (3,1)
ans = 9.4248
或者,您可以使用localfunctions
函数自动从所有局部函数创建函数句柄的单元格数组。如果您希望添加、删除或修改局部函数的名称,则此方法非常方便。