如何在MATLAB中从3D矩阵的每一行中选择矢量元素?

尔纳兹

我有一个3D矩阵,例如1000 x 4 x 20矩阵A,我想根据1000 x 1索引矢量B从A的每一行中选择1 x 20矢量。此索引向量包含1到4的数字。而且,我不想使用for循环。我应该如何做(有和/或没有“ sub2ind”)?

谢谢你。

烧杯

我不确定这是最优雅的方法,但是可以完成工作:

[r,c,~]=size(A);
Q=reshape(A,r*c,[]);
P=sub2ind([r,c],[1:r]',B);
result=Q(P,:);

这会将每个1x1x20向量放入1000x20结果矩阵的相应行中。如果需要,可以合并最后两行。

这是样本运行的前20行,其向量B附加在前面,以显示我们应该采用的列。的构造A应该非常明显(第一个数字是列号,接下来的3个是行号-1。1x1x20向量的所有元素都是相同的。)

  B       result
  2       2000   2000   2000   2000   2000   2000   2000   2000   2000   2000   2000   2000   2000   2000   2000   2000   2000   2000   2000   2000
  1       1001   1001   1001   1001   1001   1001   1001   1001   1001   1001   1001   1001   1001   1001   1001   1001   1001   1001   1001   1001
  4       4002   4002   4002   4002   4002   4002   4002   4002   4002   4002   4002   4002   4002   4002   4002   4002   4002   4002   4002   4002
  4       4003   4003   4003   4003   4003   4003   4003   4003   4003   4003   4003   4003   4003   4003   4003   4003   4003   4003   4003   4003
  3       3004   3004   3004   3004   3004   3004   3004   3004   3004   3004   3004   3004   3004   3004   3004   3004   3004   3004   3004   3004
  4       4005   4005   4005   4005   4005   4005   4005   4005   4005   4005   4005   4005   4005   4005   4005   4005   4005   4005   4005   4005
  3       3006   3006   3006   3006   3006   3006   3006   3006   3006   3006   3006   3006   3006   3006   3006   3006   3006   3006   3006   3006
  1       1007   1007   1007   1007   1007   1007   1007   1007   1007   1007   1007   1007   1007   1007   1007   1007   1007   1007   1007   1007
  3       3008   3008   3008   3008   3008   3008   3008   3008   3008   3008   3008   3008   3008   3008   3008   3008   3008   3008   3008   3008
  4       4009   4009   4009   4009   4009   4009   4009   4009   4009   4009   4009   4009   4009   4009   4009   4009   4009   4009   4009   4009
  2       2010   2010   2010   2010   2010   2010   2010   2010   2010   2010   2010   2010   2010   2010   2010   2010   2010   2010   2010   2010
  4       4011   4011   4011   4011   4011   4011   4011   4011   4011   4011   4011   4011   4011   4011   4011   4011   4011   4011   4011   4011
  3       3012   3012   3012   3012   3012   3012   3012   3012   3012   3012   3012   3012   3012   3012   3012   3012   3012   3012   3012   3012
  2       2013   2013   2013   2013   2013   2013   2013   2013   2013   2013   2013   2013   2013   2013   2013   2013   2013   2013   2013   2013
  4       4014   4014   4014   4014   4014   4014   4014   4014   4014   4014   4014   4014   4014   4014   4014   4014   4014   4014   4014   4014
  4       4015   4015   4015   4015   4015   4015   4015   4015   4015   4015   4015   4015   4015   4015   4015   4015   4015   4015   4015   4015
  1       1016   1016   1016   1016   1016   1016   1016   1016   1016   1016   1016   1016   1016   1016   1016   1016   1016   1016   1016   1016
  2       2017   2017   2017   2017   2017   2017   2017   2017   2017   2017   2017   2017   2017   2017   2017   2017   2017   2017   2017   2017
  4       4018   4018   4018   4018   4018   4018   4018   4018   4018   4018   4018   4018   4018   4018   4018   4018   4018   4018   4018   4018
  3       3019   3019   3019   3019   3019   3019   3019   3019   3019   3019   3019   3019   3019   3019   3019   3019   3019   3019   3019   3019

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何用R中的向量元素划分矩阵的每一行

来自分类Dev

如何将矩阵A的每一列乘以矩阵B的每一行,并在Matlab中对所得矩阵求和?

来自分类Dev

从二进制numpy矩阵的每一行中选择随机的一个?

来自分类Dev

如何在Matlab中将矩阵的每一行乘以另一个矩阵的对应列?

来自分类Dev

如何在R中移动矩阵的每一行

来自分类Dev

如何在Matlab中输入3D矩阵?

来自分类Dev

Matlab:从最后一行中选择一些值来提取子矩阵

来自分类Dev

在MATLAB中的一个命令中选择子矩阵并矢量化

来自分类Dev

如何在矩阵的每一行中找到数量唯一的元素?

来自分类Dev

如何从矩阵中选择每一行进行不同的操作

来自分类Dev

在Matlab中将最大和最小元素保留在矩阵的每一行中

来自分类Dev

给定二维矩阵,找到元素的最小和,以便从每一行和每一列中选择一个元素?

来自分类Dev

如何为矩阵或数据帧输出一个矢量,其中每个元素都是从每一行连接在一起的字符串?

来自分类Dev

从另一数组中选择具有列索引的每一行中的元素

来自分类Dev

如何在pytorch中对矩阵的每一行中的值进行重复数据删除?

来自分类Dev

如何制作3D数组,每一行都是np.arange?

来自分类Dev

如何添加矩阵的每一行?

来自分类Dev

从二进制numpy矩阵的每一行中选择随机的一个?

来自分类Dev

使用矩阵每一行中的元素应用函数

来自分类Dev

如何跳过矩阵的每一行中的第一个元素?

来自分类Dev

Matlab:从最后一行中选择一些值来提取子矩阵

来自分类Dev

在Matlab中将最大和最小元素保留在矩阵的每一行中

来自分类Dev

如何从R中的数据帧的每一行中选择最常出现的元素

来自分类Dev

在 coo_matrix(scipy 稀疏矩阵)中,如何在每一行中选择并返回“随机列索引”,不包括该行中的非零索引?

来自分类Dev

打印/存储矩阵中的每一行 - MATLAB

来自分类Dev

在Matlab中对方形对角矩阵的每一行中的元素重新排序

来自分类Dev

在矩阵的一行中插入元素 [MATLAB]

来自分类Dev

如何从矩阵中每一行的矢量化和与另一个矩阵获得矩阵

来自分类Dev

如何在一行中选择此元素和下一个元素的子元素?

Related 相关文章

  1. 1

    如何用R中的向量元素划分矩阵的每一行

  2. 2

    如何将矩阵A的每一列乘以矩阵B的每一行,并在Matlab中对所得矩阵求和?

  3. 3

    从二进制numpy矩阵的每一行中选择随机的一个?

  4. 4

    如何在Matlab中将矩阵的每一行乘以另一个矩阵的对应列?

  5. 5

    如何在R中移动矩阵的每一行

  6. 6

    如何在Matlab中输入3D矩阵?

  7. 7

    Matlab:从最后一行中选择一些值来提取子矩阵

  8. 8

    在MATLAB中的一个命令中选择子矩阵并矢量化

  9. 9

    如何在矩阵的每一行中找到数量唯一的元素?

  10. 10

    如何从矩阵中选择每一行进行不同的操作

  11. 11

    在Matlab中将最大和最小元素保留在矩阵的每一行中

  12. 12

    给定二维矩阵,找到元素的最小和,以便从每一行和每一列中选择一个元素?

  13. 13

    如何为矩阵或数据帧输出一个矢量,其中每个元素都是从每一行连接在一起的字符串?

  14. 14

    从另一数组中选择具有列索引的每一行中的元素

  15. 15

    如何在pytorch中对矩阵的每一行中的值进行重复数据删除?

  16. 16

    如何制作3D数组,每一行都是np.arange?

  17. 17

    如何添加矩阵的每一行?

  18. 18

    从二进制numpy矩阵的每一行中选择随机的一个?

  19. 19

    使用矩阵每一行中的元素应用函数

  20. 20

    如何跳过矩阵的每一行中的第一个元素?

  21. 21

    Matlab:从最后一行中选择一些值来提取子矩阵

  22. 22

    在Matlab中将最大和最小元素保留在矩阵的每一行中

  23. 23

    如何从R中的数据帧的每一行中选择最常出现的元素

  24. 24

    在 coo_matrix(scipy 稀疏矩阵)中,如何在每一行中选择并返回“随机列索引”,不包括该行中的非零索引?

  25. 25

    打印/存储矩阵中的每一行 - MATLAB

  26. 26

    在Matlab中对方形对角矩阵的每一行中的元素重新排序

  27. 27

    在矩阵的一行中插入元素 [MATLAB]

  28. 28

    如何从矩阵中每一行的矢量化和与另一个矩阵获得矩阵

  29. 29

    如何在一行中选择此元素和下一个元素的子元素?

热门标签

归档