如何在 MATLAB 中将函数作为输出值返回?
Posted
技术标签:
【中文标题】如何在 MATLAB 中将函数作为输出值返回?【英文标题】:How do I return a function as an output value in MATLAB? 【发布时间】:2012-05-31 15:17:28 【问题描述】:我正在编写一个函数makeFunction(data)
。我希望它返回一个函数,而不是矩阵、向量或标量。我该怎么做?
【问题讨论】:
【参考方案1】:使用函数句柄。
function f = functionReturner(u)
% creates the function x.^u to return as an example
f = @(x) x.^u;
如果我保存这个函数,然后调用functionReturner,参数本身就是一个函数。
f = functionReturner(3);
f(2.5)
ans =
15.625
您可以很容易地验证 15.625 确实是 2.5^3。
【讨论】:
不使用匿名函数有什么办法吗? @Will - 我不知道您要解决什么问题,甚至不知道您使用的是什么 MATLAB 版本。您现在对答案施加限制是否有原因?如果你有一些不可告人的动机,请告诉我们,而不是让我们都猜测。有时候看水晶球是那么的困难。 如果匿名部分困扰您,子函数的常规函数句柄也可以。 你可以返回一个函数句柄,比如@sin,但它是一样的,只是稍微不那么匿名。你也可以返回一个内联函数。以上是关于如何在 MATLAB 中将函数作为输出值返回?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Matlab 中将数字四舍五入到 10 个正确的小数位