Using array values as indices for inserting values into a larger destination array
显示 更早的评论
Hello all,
I have 3 arrays, one containing row indices, one containing column indices, and one containing the corresponding value at the matching row and column location.
I am trying to use the indices arrays to place the corresponding values into a larger array at the locations specified by the row and column indices arrays.
Here is a simplified example:
rowIndices = magic(8);
colIndices = magic(8);
values = 1:8;
values = repmat(values',1,8);
destinationArray = zeros(max(rowIndices(:)),max(colIndices(:)));
Basically, values(1,1) should be placed into destinationArray at rowIndices(1,1), colIndices(1,1) but for all (row,col,val) combinations at once.
I am using a quite large dataset and am trying to avoid loops whenever possible so I was hoping there is an efficient way to do this with a limited number of operations.
Thank you for your time and if you can help I'll acknowledge you in my dissertation!
-Chris H.
1 个评论
Stephen23
2019-3-27
Note that both magic calls will return the same output matrix, so your example will only allocate data to the diagonal of the destination matrix.
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Discrete Multiresolution Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!