如何在 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 中将函数作为输出值返回?的主要内容,如果未能解决你的问题,请参考以下文章

如何在sql服务中将列名分配给标量函数的返回值

如何在 Matlab 中将数字四舍五入到 10 个正确的小数位

如何在石墨烯中将函数作为查询结果返回?

如何在提交函数的reactjs中将表单值作为FormData传递

matlab中的length表示啥?应该如何使用?

matlab怎么在主函数中调用子函数计算出来的值