【发布时间】:2018-12-27 10:29:27
【问题描述】:
我想得到以下数组的绝对值:
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
【问题讨论】:
-
您是否希望
abs返回一个所有元素都是绝对值的数组? -
感谢您的评论@George。是的!我想要
x2 = [1.1 22.3 3.01]类型的结果。我会在这个意义上更新问题 -
查看文档我猜
for i = 0:length(x) x[i] = abs(x[i]) end会起作用吗?或者调整新的x2的大小并使用相同的 for 循环分配给它。
标签: math julia linear-algebra absolute-value