mar*_*yer 4 python matlab numpy
我在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()
Run Code Online (Sandbox Code Playgroud)
这段代码给了我结果但不是想要的结果.我想问这个警告会如何影响我的代码?什么是摆脱这个警告的解决方案.请帮助
bob*_*nto 15
警告来自情节命令 - 我很确定."plot"意味着采用1d的真实阵列并将其放在屏幕上.当它看到一个复数的数组时,它会尽力而为,即丢弃虚部并绘制实部.
你可能想尝试类似的东西
plot(numpy.real(demod),'wo')
plot(numpy.imag(demod),'wo')
Run Code Online (Sandbox Code Playgroud)
如果你想看到这两个部分.