【问题标题】:Sort complex vectors in specific order按特定顺序对复杂向量进行排序
【发布时间】:2014-11-23 15:08:46
【问题描述】:

我有带有特征值的向量:

e = 

-0.4094 + 3.9387i
-0.4094 - 3.9387i
-0.0156 + 0.5645i
-0.0156 - 0.5645i

我想像这样对这个向量进行排序:

e_sort =

-0.0156 + 0.5645i
-0.4094 + 3.9387i
-0.0156 - 0.5645i
-0.4094 - 3.9387i

规则是: 首先必须是:

 -a+b*i

然后:

 -a-b*i

我们可以说:

  0 < b_1 < b_2 < ... < b_n

谢谢,

【问题讨论】:

  • 你有什么尝试吗?
  • 是的,我试过函数排序之类的东西,但没有。

标签: matlab sorting complex-numbers eigenvalue


【解决方案1】:
e1 = e(imag(e) >= 0);
e2 = e(imag(e) < 0);
newe = cat(1,sort(e1),sort(e2))

newe =

-0.0156 + 0.5645i
-0.4094 + 3.9387i
-0.0156 - 0.5645i
-0.4094 - 3.9387i

【讨论】:

    猜你喜欢
    • 2013-07-19
    • 1970-01-01
    • 2016-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-25
    相关资源
    最近更新 更多