获取复数向量在复数矩阵中的位置

Get the position of complex vector in complex matrix

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

例如我有矩阵 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.

ismember函数可以用来判断一个向量是否是矩阵中的一行:

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

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

sollution = find(indx == 1)

这将 return Y 出现的所有列 X