1
A
回答
2
让[T, N] = size(Row)
,让[DataT, DataN] = size(Data)
,然后一个单行的解决方案是:
Soln = reshape(Data(sub2ind([DataT DataN], Row(:), Col(:))), T, N);
这一个班轮看起来有点复杂,所以让我们通过一个例子情况下,步骤打破它一步。我已经包含注释指示与每个部分发生的事情:
%# Set fixed parameters for example matrices
T = 3; N = 2;
DataT = 5; DataN = 4;
%# Generate random Data matrix
Data = rand(DataT, DataN);
%# Generate some random subscript index matrices for indexing Data
Row = randi(DataT, T, N);
Col = randi(DataN, T, N);
%# Obtain the linear indices implied by treating Row and Col as subscript matrices
L = sub2ind([DataT DataN], Row(:), Col(:));
%# Use the linear indices to get the data we want
Soln = Data(L);
%# Reshape the data from a vector into matrix of size T by N
Soln = reshape(Soln, T, N);
为解决此类问题的标准参考是Matrix-Indexing-in-MATLAB
相关问题
- 1. 其他...索引超过矩阵尺寸
- 2. 索引矩阵
- 3. 使用矩阵索引创建矩阵
- 4. 矩阵索引制作新矩阵
- 5. 如何使用其他矩阵的列最大值对矩阵进行索引
- 6. 矩阵索引ř
- 7. 索引矩阵R
- 8. 索引一个java矩阵
- 9. 从两个其他矩阵的组合中创建第三个矩阵
- 10. 带lapply和seq_along的矩阵索引
- 11. 如何基于其他两个矩阵的条目构造矩阵?
- 12. 矩阵由matlab中的另一个矩阵索引?
- 13. 替换由另一个矩阵索引的矩阵元素
- 14. 如何在两个其他矩阵之间按行划分/分割矩阵?
- 15. 使用逻辑矩阵的总和矩阵 - 索引超过矩阵的维数
- 16. Matlab矩阵中的索引
- 17. Numpy中的矩阵索引
- 18. Python的矩阵索引
- 19. 矩阵的MATLAB索引
- 20. Squiz矩阵VS其他CMS
- 21. 基于另一个开始和结束索引矩阵的索引矩阵
- 22. 用另一个矩阵对矩阵索引进行子集化
- 23. 使用MATLAB中其他矩阵的元素创建矩阵
- 24. 矩阵线性索引
- 25. 索引邻接矩阵
- 26. c#picturebox矩阵索引
- 27. R:索引到矩阵
- 28. 矩阵索引问题
- 29. 单列矩阵索引
- 30. CUDA 3D矩阵索引
潜在复制[紧凑MATLAB矩阵转位符号(HTTP ://stackoverflow.com/questions/792683/compact-matlab-matrix-indexing-notation)。有一些细微的差异。 –