Matlab 如何在矩阵的另一列指定的索引处将矩阵元素插入单元格数组
我有一个矩阵Matlab 如何在矩阵的另一列指定的索引处将矩阵元素插入单元格数组,matlab,matrix,indexing,vectorization,cell-array,Matlab,Matrix,Indexing,Vectorization,Cell Array,我有一个矩阵a,它是一个nx2浮动矩阵,每行第二列表示第一列中值的列索引。理想情况下,我希望将A行rowIndex的第一列中的元素插入矢量化,并按照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
a
,它是一个n
x2浮动矩阵,每行第二列表示第一列中值的列索引。理想情况下,我希望将A
行rowIndex
的第一列中的元素插入矢量化,并按照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
矩阵第二列中的相应条目插入到单元格数组中。使用
a(1,z(:,2)) = mat2cell(z(:,1), ones(1,size(z,1)), 1);
例如,与
z = [1 2
3 4];
这导致
a =
[] [1] [] [3]