复数矩阵的 R 图
R plot of a matrix of complex numbers
我有一个复值矩阵。
如果我发出命令:
plot(myMatrix)
然后它在图形设备上显示了一种散点图,X 轴标记为 Re(myMatrix),Y 轴标记为 Im(myMatrix)。这显示了我正在寻找的信息,因为我可以看到不同的集群,而我只用一列是看不到的。
我的问题是:
- 我假设每个矩阵行有一个点。对吗?
- 如何计算每个行向量的 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)) {
这意味着,输入是复数这一事实优先于它是矩阵。
我有一个复值矩阵。
如果我发出命令:
plot(myMatrix)
然后它在图形设备上显示了一种散点图,X 轴标记为 Re(myMatrix),Y 轴标记为 Im(myMatrix)。这显示了我正在寻找的信息,因为我可以看到不同的集群,而我只用一列是看不到的。
我的问题是:
- 我假设每个矩阵行有一个点。对吗?
- 如何计算每个行向量的 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)) {
这意味着,输入是复数这一事实优先于它是矩阵。