gpt4 book ai didi

r - 在 r 中查找点积

转载 作者:行者123 更新时间:2023-12-03 15:52:13 25 4
gpt4 key购买 nike

我试图在 R 中找到两个矩阵的点积。 在必须转置的 q 矩阵中,我有三个不同的 q 值是我之前随机生成的,在 z 矩阵中三个随机生成的 z 值用作坐标一个随机点 i。我有:

    z0= NULL
for (i in 1:100){
z0[i]= 1
}
z1= runif(100, min=0, max= 20)
z2= runif(100, min=0, max=20)
q0= runif(1, 0, 1)
q1= runif(1, 0, 1)
q2= runif(1, 0, 1)
i= runif(1, 1, 101)
i= ceiling(i-1)
q= matrix(c(q0,q1,q2), ncol=3)
z= matrix(c(z0[i],z1[i],z2[i]), ncol=3)
s[i]= t(q)*z

但是,当我尝试计算 s[i] 时,我得到 Error in t(q) * z : non-conformable arrays .我不确定为什么会这样,因为它们似乎都具有相同的长度。

这是我第一次使用 R,所以我不确定发生了什么。

谢谢!

最佳答案

正如 Pascal 所说,R 中的点积是 %*%。我能够在您的示例数据上成功使用它:

> z0= NULL
> for (i in 1:100){
+ z0[i]= 1
+ }
> z1= runif(100, min=0, max= 20)
> z2= runif(100, min=0, max=20)
> q0= runif(1, 0, 1)
> q1= runif(1, 0, 1)
> q2= runif(1, 0, 1)
> i= runif(1, 1, 101)
> i= ceiling(i-1)
> q= matrix(c(q0,q1,q2), ncol=3)
> z= matrix(c(z0[i],z1[i],z2[i]), ncol=3)
> t(q)%*%z
[,1] [,2] [,3]
[1,] 0.3597998 3.227388 2.960053
[2,] 0.3544622 3.179510 2.916141
[3,] 0.3550781 3.185035 2.921208
> z%*%t(q)
[,1]
[1,] 4.340265

关于r - 在 r 中查找点积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28294210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com