簡體   English   中英

Numpy警告:將復合物轉換成實際丟棄的虛部

[英]Numpy warning:Casting Complex to real discards imaginary part

我在Python中嘗試使用Matlab代碼

我的代碼發出警告

/usr/lib/python2.7/dist-packages/numpy/core/numeric.py:235:ComplexWarning:將復雜值轉換為實際丟棄虛部

返回數組(a,dtype,copy = False,order = order)

Python代碼

demod_1_a=mod_noisy*2*cos((2*pi*Fc*t)+phi)

N=10
Fc=40
Fs=1600
d=firwin(numtaps=N,cutoff=40,nyq=Fs/2)
print(len(d))
Hd=lfilter( d, 1.0, demod_1_a)
print(len(Hd))
y2=(convolve(Hd,raised))/Convfac
print(len(y2))
y2=y2[(sa/2)-1:-sa/2]
print(len(y2))
demod_3_a=y2[(sa/2)-1::sa]
print(len(demod_3_a))

demod_1_b=-1*mod_noisy*2*sin((2*pi*Fc*t)+phi)

Hd2=lfilter(d,1.0,demod_1_b)

y3=(convolve(Hd2,raised))/Convfac

y3=y3[(sa/2)-1:-sa/2]

demod_3_b=y3[(sa/2)-1::sa]

#########3333
#Demod

demod=demod_3_a+(1j)*demod_3_b
print((demod))
plot(demod,'wo')
show() 

這段代碼給了我結果但不是想要的結果。我想問這個警告會如何影響我的代碼? 什么是擺脫這個警告的解決方案。請幫助

警告來自情節命令 - 我很確定。 “plot”意味着采用1d真實陣列並將其放在屏幕上。 當它看到一個復數的數組時,它會盡力而為,即丟棄虛部並繪制實部。

你可能想嘗試類似的東西

plot(numpy.real(demod),'wo')
plot(numpy.imag(demod),'wo')

如果你想看到這兩個部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM