复数矩阵的 R 图

R plot of a matrix of complex numbers

我有一个复值矩阵。

如果我发出命令:

plot(myMatrix)

然后它在图形设备上显示了一种散点图,X 轴标记为 Re(myMatrix),Y 轴标记为 Im(myMatrix)。这显示了我正在寻找的信息,因为我可以看到不同的集群,而我只用一列是看不到的。

我的问题是:

  1. 我假设每个矩阵行有一个点。对吗?
  2. 如何计算每个行向量的 Re(myMatrix)?

不是Re(myMatrix[1,row]),而是行向量所有值的混合。我希望能够获得这些值,以便知道如何使用 R 计算它们。

不,每个矩阵元素有一个点。

set.seed(42)
mat <- matrix(complex(real = rnorm(16), imaginary = rlnorm(16)), 4) 
plot(mat)

points(Re(mat[1,1]), Im(mat[1,1]), col = "red", pch = ".", cex = 5)

寻找红点:

如果您绘制向量而不是矩阵,您会得到相同的图,即 plot(c(mat))

发生这种情况是因为 plot.default 调用了 xy.coords 并且该函数包含以下代码:

else if (is.complex(x)) {
            y <- Im(x)
            x <- Re(x)
            xlab <- paste0("Re(", ylab, ")")
            ylab <- paste0("Im(", ylab, ")")
        }
        else if (is.matrix(x) || is.data.frame(x)) { 

这意味着,输入是复数这一事实优先于它是矩阵。