gpt4 book ai didi

arrays - 如何处理 "non-conformable"数组?

转载 作者:行者123 更新时间:2023-12-01 23:54:55 27 4
gpt4 key购买 nike

如何对两个数组进行逐元素算术运算在第一个维度上是一致的,但还有一个额外的维度?

示例,将数组 a (3 x 3 x 2) 乘以数组 b (3 x 3):

a <- array(1:18, dim=c(3,3,2))
b <- diag(3)

以下操作失败,因为数组不一致。

> a * b

要使其工作,您必须将数组 b 转换为具有正确的数组维数。

> a * array(b, dim=c(3,3,2))

这并没有让我觉得非常直截了当,但我相信一定有是一种更简单的方法。

最佳答案

你可以试试:

a * c(b)

c 将剥离属性,然后允许将 b 作为一个简单的向量回收,并导致我认为是您想要的结果:

, , 1

[,1] [,2] [,3]
[1,] 1 0 0
[2,] 0 5 0
[3,] 0 0 9

, , 2

[,1] [,2] [,3]
[1,] 10 0 0
[2,] 0 14 0
[3,] 0 0 18

关于arrays - 如何处理 "non-conformable"数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24396198/

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