【发布时间】:2012-07-16 12:40:11
【问题描述】:
给定一个多输入的matlab函数
out=f(in1, in2)
我想编写第二个函数 g 来生成 f 的输入,例如
[in1, in2]=g(in)
这样我就可以调用类似的东西:
out=f(g(in))
我尝试将 g 编写为单个输出函数,它将 in1 和 in2 存储在一个元胞数组中,这样我就可以使用冒号运算符将 g 的输出提供给 f:
in_c=g(in);
out=f(in_c{:})
但我一直在寻找一种单行解决方案,在我阅读时似乎无法以这种方式实现:
Is it possible to apply colon operator on an expression in MATLAB?
还有其他方法吗?
【问题讨论】:
-
这在 Matlab 中是不可能的。您可以做的最好的事情是让
f将一个元胞数组作为输入,g返回一个元胞数组作为输出。