我想要这个(数组=向量):如何在Matlab中创建载体中包含的结构域的投影?
array.Select(elem => elem.my_field).ToArray(); // C# + Linq
array map _.my_field // Scala, I believe
在普通的英语,我有载体。每个元素都是结构。每个结构都有字段(任何类型)。现在,我不想拥有这个,我想拥有“领域”的矢量。
例子:
所以,如果一开始我有姓名+年龄结构(参见下面的更新)的载体,我想创建投影,所以我最终随着年龄的载体(年龄的顺序) 。
我试过arrayfun
功能,但是这给了我错误:
error: cellfun: all values must be scalars when UniformOutput = true
我怀疑这是环境设置,但我不能切换的,因为我的代码将在陌生的环境中运行。
更新:我简化了这个例子,我很抱歉 - 年龄是一个数字,但不时它是一对数字。所以在一般情况下,我必须假设它可以是任意长度的数字的向量(正如我在Matlab中理解的,一个数字是vector.length = 1)。
问题
如何让这样的 “组合拳” 投影在Matlab?
谢谢,我恐怕我简化了我的问题太多了,因为当我运行你的代码时,它在我的情况下不起作用,因为我不时只是数字(年龄)而不是数字(年龄)的数字)。如何处理这种情况? – greenoldman 2012-03-18 13:24:02
@macias:或者沿着不同的维度链接,或者创建一个单元格数组。看我的编辑。 – Jonas 2012-03-18 13:36:53
Yuppi !!! :-)它工作非常好,非常感谢你,并再次抱歉,这种简化。 – greenoldman 2012-03-18 13:56:15