繁体   English   中英

R中的矩阵代数

[英]Matrix algebra in R

我有:x = 1 x 999布朗运动矢量y = 1 x 999布朗运动矢量(我可以很容易地模拟它们)

我想建立一个称为z的1000x1000矩阵,如下所示:-第一行和第一列将充满零-每个其他元素将是x和y的乘积,即z第二列的第二行将是x [ 1] * y [1]等,直到第1000列的第1000行为x [999] * y [999](再举一个例子,第4列的第3行将为x [3] * y [4 ]

我将如何去做呢?

您在寻找outer

x <- 1:3
y <- 2:4
cbind(0, rbind(0, outer(x, y)))
#      [,1] [,2] [,3] [,4]
# [1,]    0    0    0    0
# [2,]    0    2    3    4
# [3,]    0    4    6    8
# [4,]    0    6    9   12

如果要为每对xy值绘制z ,则可能会发现使用以下命令更方便

to.plot <- expand.grid(x=c(0, x), y=c(0, y))
to.plot$z = to.plot$x * to.plot$y
to.plot
#    x y  z
# 1  0 0  0
# 2  1 0  0
# 3  2 0  0
# 4  3 0  0
# 5  0 2  0
# 6  1 2  2
# 7  2 2  4
# 8  3 2  6
# 9  0 3  0
# 10 1 3  3
# 11 2 3  6
# 12 3 3  9
# 13 0 4  0
# 14 1 4  4
# 15 2 4  8
# 16 3 4 12

然后,您可以使用以下内容进行绘图:

library(scatterplot3d)
scatterplot3d(to.plot$x, to.plot$y, to.plot$z)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM