【问题标题】:R plot of a matrix of complex numbers复数矩阵的 R 图
【发布时间】:2015-06-18 17:13:59
【问题描述】:

我有一个复数值矩阵。

如果我发出命令:

plot(myMatrix)

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

我的问题是:

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

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

【问题讨论】:

标签: r matrix plot complex-numbers


【解决方案1】:

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

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)) { 

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

【讨论】:

  • 谢谢。还有一个问题:有没有一种简单的方法来告诉每列使用不同的颜色进行绘图?
  • plot(t(mat), col = seq_len(ncol(mat)))
猜你喜欢
  • 1970-01-01
  • 2017-03-12
  • 2018-01-30
  • 1970-01-01
  • 1970-01-01
  • 2011-08-04
  • 1970-01-01
  • 2018-06-04
  • 1970-01-01
相关资源
最近更新 更多