我想将一个向量拼接成一个函数调用,但我找不到这样做的方法.可能吗?
为了扩展我的意思,我们说我们有x长度向量n和f带n参数的函数.我想f(x(1), x(2), ..., x(n))通过调用类似f(x)或类似的东西来打电话f(splice(x)).如果x是单元格数组而不是向量,则调用f(x{:})将获得所需的结果; 只有x向量时才会有一些等价物似乎是合理的.
我希望我缺少一些操作员或功能.我可以打电话y = num2cell(x)跟随f(y{:}),但这不是我正在寻找的.
正如评论中已经提到的那样
tmp = num2cell(x)
f(tmp{:})
Run Code Online (Sandbox Code Playgroud)
是要走的路.
一个功能,splice以便f(splice(x))你可以做你想要的,不起作用.即使您可以将输入拆分为多个输出,也f只接受第一个参数(类似于您在命令行调用函数而不请求输出).
subsref在这种情况下甚至不起作用,因为例如
subsref(num2cell([1 2]),struct('type','{}','subs',{{':'}}))将与splice-function 相同,即仅返回一个输出,除非明确请求多个输出.