如何在矩阵的另一列指定的索引处将矩阵元素插入到单元格数组中

时间:2014-02-23 23:18:10

标签: matlab matrix indexing vectorization cell-array

我有一个矩阵A,它是一个n X 2矩阵的浮点数,每行第二列代表第一列中值的列索引 。理想情况下,我希望在ArowIndex的第一列和A(:,2)指定的各自列中对元素的插入进行矢量化。

我希望实现的伪代码如下:

myCellArray = cell(n X n)

%rowIndex is some predefined integer.
rowIndex
%A is my n X 2 matrix of values and corresponding column indices.
A
myCellArray{(rowIndex*ones(size(A(:,1),1),1)),A(:,2)} = A(:,1)

我已经提供了我在底部尝试的代码,虽然我尝试了类似于最后一行的内容而且它已经失败因此我想知道这样的东西在MATLAB中是如何工作的。基本上,如果我的问题令人困惑,我希望通过使用索引向量和值向量插入每个索引来将元素插入到单元格数组中。

a{1,z(:,2)} = z(:,1)

这里我试图将z矩阵的第一列中的所有值插入到由1索引的单元格中,并将z的第二列中的相应条目插入到单元格数组中。

1 个答案:

答案 0 :(得分:0)

使用

a(1,z(:,2)) = mat2cell(z(:,1), ones(1,size(z,1)), 1);

例如,使用

z = [1 2
     3 4];

这导致

a = 
    []    [1]    []    [3]