在R中按虚部排序

时间:2018-10-06 12:58:45

标签: r sorting complex-numbers

我想按虚部的升序对一些复数进行排序。我已经阅读了文档,但是我仍然不知道如何使用import matplotlib.pyplot as plt import matplotlib.animation as animation fig = plt.figure(1) ax1 = fig.add_subplot(1,1,1) def animate(i): graph_data = open('example.txt','r').read() lines = graph_data.split('\n') xs = [] ys = [] for line in lines: if len(line) > 1: x, y = line.split(',') xs.append(x) ys.append(y) ax1.clear() ax1.plot(xs, ys) ani = animation.FuncAnimation(fig, animate, interval=1000) plt.show() 函数在单行命令中执行此操作。 (我尝试过sort,这是类似问题中提供的答案,但我想知道如何使用r[order(Im(r))]来做到这一点。)有人可以帮忙吗?谢谢。

1 个答案:

答案 0 :(得分:3)

可以想到复数的不同顺序:根据它们的实部,虚部,大小或极角。

要根据其虚构部分进行排序,可以很容易地定义一个自定义函数。这是一个示例:

complex_sort  <- function(z) z[order(Im(z))]

z1 <- complex(real = 1, imaginary = 1)
z2 <- complex(real = 2, imaginary = 1)
z3 <- complex(real = 1, imaginary = 2)
complex_sort(c(z1, z2, z3))
#[1] 1+1i 2+1i 1+2i