例如,如果我想从中读取中间值magic(5),我可以这样做:
M = magic(5);
value = M(3,3);
得到value == 13.我希望能够做到这样的事情之一:
value = magic(5)(3,3);
value = (magic(5))(3,3);
免除中间变量.然而,MATLAB抱怨Unbalanced or unexpected parenthesis or bracket在第一个括号之前3.
是否可以在不首先将其分配给变量的情况下从数组/矩阵中读取值?
我有一个"对象"结构数组OBJECT_ARRAY,我必须经常转换为对象结构的每个元素的单个数组.这可以使用arrayfun.它比单纯的裁判更乏味OBJECT_ARRAY(k).item1,但这就是The Mathworks选择这样做的方式.
在今天的这种情况下,我已经使用了那些单独的数组并计算了相应的派生值newItem,对于每个元素,我需要将其添加到原始结构数组中.所以我有一个数组newItems.
是否有一种直接的方法为每个对象进行分配,OBJECT_ARRAY以便(有效地)OBJECT_ARRAY(k).newItem = newItems(k)为每个索引k?
我使用的是2015a版.