math - Julia - 数组的绝对值
问题描述
我想得到以下数组的绝对值:
x = [1.1 -22.3 3.01, -1]
即:我想要一个类型的输出:x2 = [1.1 22.3 3.01 1]
但是当我输入:
abs(x)
我收到一个错误:
ERROR: MethodError: no method matching abs(::Array{Float64,2})
Closest candidates are:
abs(::Pkg.Resolve.MaxSum.FieldValues.FieldValue) at /Users/vagrant/worker/juliapro-release-osx1011-0_6/build/tmp_julia/Julia-1.0.app/Contents/Resources/julia/share/julia/stdlib/v1.0/Pkg/src/resolve/FieldValues.jl:67
abs(::Pkg.Resolve.VersionWeights.VersionWeight) at /Users/vagrant/worker/juliapro-release-osx1011-0_6/build/tmp_julia/Julia-1.0.app/Contents/Resources/julia/share/julia/stdlib/v1.0/Pkg/src/resolve/VersionWeights.jl:40
abs(::Missing) at missing.jl:79
...
Stacktrace:
[1] top-level scope at none:0
解决方案
Julia 不会自动将标量函数(如abs
)应用于数组元素。相反,您应该告诉 Julia 这就是您想要的,并abs
在您的数组上广播标量函数,请参阅https://docs.julialang.org/en/v1/manual/arrays/#Broadcasting-1。这可以作为
julia> x = [1.1, -22.3, 3.01, -1];
julia> broadcast(abs, x)
4-element Array{Float64,1}:
1.1
22.3
3.01
1.0
或者你可以使用“dot-notation”,这更符合概念:
julia> abs.(x)
4-element Array{Float64,1}:
1.1
22.3
3.01
1.0
推荐阅读
- cucm - 给定内部目录号码,您如何找到指向它的外部号码?
- javascript - 在 node.js 中创建脚本以将种子数据插入 mongodb
- datastax-enterprise - gem -https://github.com/cequel/cequel(它本身使用 https://github.com/datastax/ruby-driver)是否适用于 DSE 6.0?
- java - Hive JDBC 连接问题
- vb.net - 如何以编程方式真正选择datagridview中的一行,而不仅仅是突出显示
- jquery - 如何使导航栏响应?
- sass - 有没有办法通过 SASS 中的类传递参数?
- mysql - http get API 查询云 sql 并以 csv 格式返回
- python-3.x - 无论年份如何,如何按日期的日月部分对数据进行分组?
- java - 使用元数据唯一标识文件