如何在Juila中逐元素执行exp()操作?

时间:2019-12-08 04:23:56

标签: julia elementwise-operations

我是Julia的新手,这似乎很简单,但是由于某种原因,我在任何地方都找不到答案。

我已经在线浏览了一些教程,他们只是使用exp(A),其中A是一个nxm矩阵,但这给了我DimensionMismatch错误。

我浏览了elementary functionslinear algebra部分的官方网站上的文档,并在Google上进行了多次搜索,但终生无法找到。

3 个答案:

答案 0 :(得分:7)

在julia中,对矩阵的运算将矩阵视为对象而不是数字的集合。因此,exp(A)尝试执行仅为平方矩阵定义的matrix exponential。要对矩阵进行逐元素运算,请使用通过点运算符完成的广播。因此,在这里,您需要exp.(A)

之所以使用此设计,是因为它允许对数组执行任何标量运算 而不只是语言中内置的语言。

答案 1 :(得分:7)

广播运营商.始终将功能更改为“按元素排列”。因此,答案是exp.(A),就像任何用户定义的sin.(A)的{​​{1}},cos.(A)f.(A)一样。

答案 2 :(得分:1)

除了以上答案外,还不妨考虑具有功能管道的广播运营商:     

A = rand(-10:10, 3, 3)

A .|> sin .|> inv