Как получить доступ к функции conv в Julia 1.0.0? - PullRequest
0 голосов
/ 20 сентября 2018

Этот вопрос о стековом потоке использует Julia 0.6.1, как показано здесь:

The convolution function in Julia has the following behaviour:

               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: https://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.6.1 (2017-10-24 22:15 UTC)
 _/ |\__'_|_|_|\__'_|  |  Official http://julialang.org/ release
|__/                   |  x86_64-pc-linux-gnu

julia> conv([1,2,NaN],[1])

3-element Array{Float64,1}:
 NaN
 NaN
 NaN

То же самое в Julia 1.0.0 приводит к следующему выводу ошибки:

               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.0.0 (2018-08-08)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia> conv([1,2,NaN],[1])
ERROR: UndefVarError: conv not defined
Stacktrace:
 [1] top-level scope at none:0

Как получить доступ к функции conv в Julia 1.0.0?

1 Ответ

0 голосов
/ 20 сентября 2018

Функция свертки была перемещена в пакет DSP.jl , который обозначает цифровую обработку сигналов.

Обычно рекомендуется использовать Julia v0.7 при попытке портировать pre v0.7 код для Юлии v1.0.Фактически, это единственная причина, по которой существует v0.7.

При вызове conv в v0.7 вы получаете всю необходимую информацию:

julia> conv(rand(10))
ERROR: conv has been moved to the package DSP.jl.
Run `Pkg.add("DSP")` to install it, restart Julia,
and then run `using DSP` to load it.

На случай, если выЕсли вы хотите избежать запуска v0.7 на своей машине, просто чтобы узнать, куда что-то было перемещено, вы также можете найти имя старой функции в deprecated.jl .В поисках conv мы находим:

for f in [:conv, :conv2, :deconv, :filt, :filt!, :xcorr]
    @eval Base.@deprecate_moved $f "DSP"
end

Хотя исходный код, я считаю @deprecate_moved "DSP" понятен.

...