簡體   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