想象一下,我在Octave中有一个单元格数组“列表列表”:
octave:6> a = {[1], [3,4], [5,6,7], [8,9,10,11]}
a =
{
[1,1] = 1
[1,2] =
3 4
[1,3] =
5 6 7
[1,4] =
8 9 10 11
}
现在我想从每个嵌套行中提取给定元素,并且每个嵌套行的索引都在列表中给出。例如。 [1,2,3,3]意味着返回[1,4,6,10]。
最好的Octave-ish方法是什么?我知道如何用循环来做到这一点,但这看起来很难看......
答案 0 :(得分:2)
似乎我找到了对我有益的解决方案。我意识到cellfun()
需要一些参数,所以我可以轻松地执行元素映射。
octave:31> cellfun(@(x,y) x(y), a, {1,2,2,3})
ans =
1 4 6 10