小编mar*_*yer的帖子

如何使用python取-1的平方根?

当我取-1的平方根时,它给出了一个错误:

sqrt中遇到无效值

我该如何解决这个问题?

/////////
arr=sqrt(-1)
print(arr)
OUTPUT
Run Code Online (Sandbox Code Playgroud)

python numpy

9
推荐指数
3
解决办法
1万
查看次数

python中的低通滤波器

我正在尝试将Matlab代码转换为Python.我想fdesign.lowpass()在Python中实现Matlab.使用以下内容的Matlab代码的确切替代品是什么scipy.signal.firwin():

demod_1_a = mod_noisy * 2.*cos(2*pi*Fc*t+phi);
d = fdesign.lowpass('N,Fc', 10, 40, 1600);
Hd = design(d);
y = filter(Hd, demod_1_a);
Run Code Online (Sandbox Code Playgroud)

python numpy filter scipy

8
推荐指数
1
解决办法
2万
查看次数

在Python中初始化空矩阵

我试图在Python中转换MATLAB代码.我不知道如何在Python中初始化空矩阵.

MATLAB代码:

demod4(1) = [];
Run Code Online (Sandbox Code Playgroud)

我试过Python

demod4[0] = array([])
Run Code Online (Sandbox Code Playgroud)

但它给出了错误:

only length-1 arrays can be converted to Python scalars
Run Code Online (Sandbox Code Playgroud)

python matlab numpy

7
推荐指数
4
解决办法
5万
查看次数

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)

这段代码给了我结果但不是想要的结果.我想问这个警告会如何影响我的代码?什么是摆脱这个警告的解决方案.请帮助

python matlab numpy

4
推荐指数
1
解决办法
3万
查看次数

Python中的矩阵赋值

我试图将Matlab代码转换为Python,当我转换一行时我遇到了问题.我是对还是不对?我不知道如何在Python中进行分配.

Matlab的:

 for j=1:a
     diff_a=zeros(1,4);
     diff_b=zeros(1,4);
     for i=1:4
         diff_a(i)=abs(ssa(j)-check(i));
         diff_b(i)=abs(ssb(j)-check(i));
     end
     [Y_a,I_a]=min(diff_a);
 end
Run Code Online (Sandbox Code Playgroud)

蟒蛇:

for j in arange(0,a):
    diff_a=zeros(4)
    diff_b=zeros(4)
    for i in arange(0,4):
        diff_a[i]=abs(ssa[j]-check[i])
        diff_b[i]=abs(ssb[j]-check[i])
    [Y_a,I_a]=min(diff_a)
Run Code Online (Sandbox Code Playgroud)

最后一行给出了这个错误:

TypeError:'numpy.float64'对象不可迭代

问题出在最后一行.diff_a是一个复数数组.很抱歉没有提供整个代码(它太大了).

python matlab numpy

1
推荐指数
1
解决办法
198
查看次数

"错误:使用序列设置数组元素"

我试图将Matlab代码转换为Python,但是当我在数组中添加零时,我收到一个错误.

Matlab代码:

N_bits=1e5;
a1=[0,1];
bits=a1(ceil(length(a1)*rand(1,N_bits)));
bits=[0 0 0 0 0 0 0 0 bits];
Run Code Online (Sandbox Code Playgroud)

Python代码:

a1=array([0,0,1])
N_bits=1e2
a2=arange(0,2,1)
## Transmitter ##
bits1=ceil(len(a2)*rand(N_bits))
bits=a1[array(bits1,dtype=int)]
bits=array([0,0,0,0,0,0,0,0, bits])
Run Code Online (Sandbox Code Playgroud)

我在最后一行收到错误:

Error: 
bits=array([0,0,0,0,0,0,0,0, bits])

ValueError: setting an array element with a sequence.

python matlab numpy

1
推荐指数
1
解决办法
376
查看次数

标签 统计

numpy ×6

python ×6

matlab ×4

filter ×1

scipy ×1