在 R
中,函数outer
结构化地允许您取两个向量x
和y
的外积,同时为每个组合提供一些实际函数的选项。例如outer(x,y,'-')
创建一个“外积”矩阵,其中包含x
和y
之间元素差异的逐元素计算结果。Julia是否有类似的功能?
.
将两个容器连接起来。当两个容器具有相同的大小时,这是一种元素级别的操作。例如:如果size(x)==size(y)
,那么x.*y
就是元素级别操作。然而,当形状不匹配时,广播就真正发挥作用了。如果其中一个是行向量,另一个是列向量,则输出将是二维的,out[i,j]
与列向量的第i
行和行向量的第j
行相匹配。这意味着x .* y
是一种写外积的奇特方式,如果一个是行向量,另一个是列向量。
总的来说,广播执行的操作如下:
当维度变大时,这会导致浪费,因此Julia提供了broadcast(),它会扩展数组参数中的单例维度以匹配另一个数组中的相应维度,而不使用额外的内存。
(以上内容摘自Julia手册)
但这可以推广到所有其他二元运算符,所以x .- y'
就是你要找的东西。
x .- y'
就是他/她正在寻找的东西。 - Michael K. Borregaard+
,-
,*
,/
)之外的情况?例如,是否有一种首选的方法来使用某个接受两个参数的函数 f
来实现这一点? - jjjjjjf.(x,y')
的形式。 - Chris Rackauckassize(x)==size(y)
是否成立,但无论如何都想要外积矩阵,该怎么办? - Octavius
x*y'
?如果-
表示外积,我不确定它的作用。或者你可能需要进行广播操作:x .- y'
? - Chris Rackauckas