2017-05-24 8 views
0

나는 줄리아가있는 ifft를 사용하여 계수 배열의 역 푸리에 변환을 계산하려고합니다. Y = [Y_0 .., Y_ (N-1)]줄리아를 사용하여 ifft를 사용하는 중 오류

ifft(Y) 

을 계산함으로써 제 푸리에 계수 reprensenting 및 I는 다음 얻을 오류 메시지

I는 다음과 같이 구성되어 배열에 N 복소수를 :

MethodError: no method matching plan_bfft(::Array{Complex,1}, ::UnitRange{Int64}) Closest candidates are:
plan_bfft{T<:Union{Complex{Float32},Complex{Float64}},N}(::Union{Base.ReshapedArray{T<:Union{Complex{Float32},Complex{Float64}},N,A<:DenseArray,MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N}}},DenseArray{T<:Union{Complex{Float32},Complex{Float64}},N},SubArray{T<:Union{Complex{Float32},Complex{Float64}},N,A<:Union{Base.ReshapedArray{T,N,A<:DenseArray,MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N}}},DenseArray},I<:Tuple{Vararg{Union{Base.AbstractCartesianIndex,Colon,Int64,Range{Int64}},N}},L}}, ::Any; flags, timelimit) at fft/FFTW.jl:601
plan_bfft{T<:Real}(::AbstractArray{T<:Real,N}, ::Any; kws...) at dft.jl:205
plan_bfft{T<:Union{Integer,Rational{T<:Integer}}}(::AbstractArray{Complex{T<:Union{Integer,Rational}},N}, ::Any; kws...) at dft.jl:207 ...

in #plan_ifft#15(::Array{Any,1}, ::Function, ::Array{Complex,1}, ::UnitRange{Int64}) at ./dft.jl:268 in #plan_ifft#3(::Array{Any,1}, ::Function, ::Array{Complex,1}) at ./dft.jl:58 in ifft(::Array{Complex,1}) at ./dft.jl:56

아무도 도와 줄 수 있습니까?

내가 typeof(Y)이라고 대답하면 Array {Complex, 1}입니다.

+0

합니까 'IFFT (수집 (Y))'일을? – rickhg12hs

답변

0

그냥 추측 당신을 감사합니다 ifft이 배열 요소 유형 Complex{Float64}하지 Complex이 될 것으로 기대하고있다. 또한

julia> Complex<:Complex{Float64} 
false 

Complex의 배열을 얻었습니까?

Complex{Float64} 일을 사용하여 제대로 작동 :

julia> Y=complex([1.,2.,3.],[4.,3.,2.]) 
3-element Array{Complex{Float64},1}: 
1.0+4.0im 
2.0+3.0im 
3.0+2.0im 

julia> ifft(Y) 
3-element Array{Complex{Float64},1}: 
     2.0+3.0im  
-0.788675+0.211325im 
-0.211325+0.788675im 
+0

'Array (Complex, n)'행으로 배열을 초기화합니다. 'Array (Complex {Float64}, n)'을 사용하면 감사합니다. 실제 가치 기능을 제외하고는 대답은 복잡하지만 이제는 새로운 문제를 해결해야합니다. 고맙습니다! – user5035672