【问题标题】:Get the position of complex vector in complex matrix获取复数向量在复数矩阵中的位置
【发布时间】:2019-03-01 09:43:28
【问题描述】:

我需要在复数矩阵中获取向量(复数)的位置。

例如我有如下矩阵X

X = [ -0.7071 + 0.7071, 0.00 + 0.00i, 0.00 + 0.00i, 0.00 + 0.00i;
       0.00 + 0.00i, -0.7071 + -0.7071, 0.00 + 0.00i, 0.00 + 0.00i;
       0.00 + 0.00i, 0.00 + 0.00i, -0.7071 + 0.7071, 0.00 + 0.00i; 
      -0.7071 + 0.7071, -0.7071 + 0.7071, 0.00 + 0.00i, 0.00 + 0.00i; 
      -0.7071 + 0.7071, 0.00 + 0.00i, -0.7071 + 0.7071; 0.00 + 0.00i ];

我有一个复数向量

Y = [ 0.00 + 0.00i, 0.00 + 0.00i, -0.7071 + 0.7071, 0.00 + 0.00i ]; 

所以,我需要的是在矩阵X 中获取Y 的索引。在我的示例中,它是 3。

【问题讨论】:

    标签: matlab indexing complex-numbers


    【解决方案1】:

    ismember 函数可用于确定向量是否为矩阵中的一行:

    [~,indx] = ismember(X', Y', 'row')
    

    indx 将是一个向量,它表示 Y' 是否在 X' 的那一行中(讨论 YX 时的列)。要知道您想要的索引,您只需:

    sollution = find(indx == 1)
    

    这将返回Y 出现X 的所有列。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-04
      • 1970-01-01
      • 2017-03-12
      • 1970-01-01
      • 2020-01-10
      • 2020-07-13
      • 2011-06-02
      • 2018-05-08
      相关资源
      最近更新 更多