matlab - 评估具有不同数量的匿名函数的元胞数组
问题描述
我有一个匿名函数的单元格数组,所有这些函数通常都采用不同的变量,例如
{@(x)x, @(x,y)x+y, @(y)y^2}
我想为一对值评估所有这些函数{x,y}
,即执行类似的操作
{@(x)x, @(x,y)x+y, @(y)y^2}(x,y)
我怎样才能在 Matlab 中做到这一点?
编辑:由于找不到好的解决方案,我现在手动解析函数定义。
解决方案
我会遍历这些函数,但我想有一种更优雅、更简洁的方式。我还使用了~
占位符,因此不会传播太多输入的错误。~
占位符可用于计划不使用的输入和输出。
%Input variables%
x = 1;
y = 2;
Functions = {@(x,~) x, @(x,y) x+y, @(~,y) y^2};
%Looping through functions and evaluating%
for Function_Index = 1: length(Functions)
Functions{Function_Index}(x,y)
end
使用 MATLAB 版本:R2019b
推荐阅读
- python - 密码保险库问题,代码未遵循 if 语句
- r - 底部使用grid.arrange和legend时x轴位置不同的问题
- android - 为什么我必须为数据库中的自动递增列创建一个设置器?
- azure - Azure 流量管理器加权路由,有多少重要?
- sql - 按 max(year) 选择一行并按名称分组,但还包括结果集中的其他值
- linux - 未找到 npm 命令“服务”,但已安装
- php - 数据表 createdRow 为所有行应用背景色,尽管设置了要应用哪些行的条件
- java - 在 focframework 中,我可以获得 config.properties 文件中支持的所有属性的列表,以及如何添加我自己的属性以用于我自己的
- json - 如何从带有自签名证书的 JSON 请求中获取对象列表
- npm - jspdf安装问题