将数组除以单个值并乘以矩阵

时间:2014-02-25 12:06:00

标签: r matrix matrix-multiplication

这是一个两部分问题。我有一系列海平面压力数据[36,21,12012]代表经度,纬度和月度时间片。首先,我需要将数组中的所有数字除以一个值。然后,我需要将每个结果时间切片乘以相同维度的矩阵[36,21]。

我该怎么做?提前谢谢!

2 个答案:

答案 0 :(得分:1)

在R中,您应该能够一次将所有内容除以一个值。例如,如果您的矩阵为X,且值为v,则可以执行newMat <- X/v。矩阵乘法是类似的。如果您希望将之前答案乘以的矩阵为multMat,则可以使用
获得最终结果 result <- newMat %*% multMat

简而言之:

result <- X/v %*% multMat

答案 1 :(得分:0)

你指的是向量乘法与矩阵乘法相反。

你应该能够做到

分配值

a = c(36, 21, 12012)

矢量算术,用于单元素划分

a = a/value

使用%*%运算符的矩阵乘法

不确定您要乘以的矩阵是什么,但第一个矩阵的行数应与第二个矩阵的行数相同。

这是我刚才做的一个示例代码

x <- matrix(1:9,nrow=3)
print("X is:")
print(x)
y <- c(1,2,3)
y = y*2
print("Y is")
print(y)
print(x %*% y/2)

结果:

[1] "X is:"

      [,1] [,2] [,3]

[1,]    1    4    7
[2,]    2    5    8
[3,]    3    6    9
[1] "Y is"
[1] 2 4 6
     [,1]
[1,]   30
[2,]   36
[3,]   42