我对 Julia 还很陌生,所以我要问一个非常非常基本的问题。我理解点(.)进行逐元素操作的逻辑,但是,我对这段非常简单的代码感到困惑
array_try_op = [1, 2, 3, 4]
array_sum2 = array_try_op .+ 2
array_sum2_wrong = array_try_op + 2
array_prod2 = array_try_op .* 2
array_prod2_wrong = array_try_op * 2
确实,当我尝试执行 array_sum2_wrong = array_try_op + 2
时,我正确地收到了错误消息,但相反 array_prod2_wrong = array_try_op * 2
不会返回任何错误消息,实际上返回与 array_prod2 = array_try_op .* 2
为什么会出现这种情况?
最佳答案
因为按标量缩放是 vector spaces 上定义明确的(并且必需!)操作,Array
被视为。另一方面,向量和标量之间的加法并没有真正意义,除非您想要广播行为(点表示)。当然,标量的缩放和广播乘法是一致的。
关于syntax - 元素明智求和与元素明智乘积之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61982439/