您好我正在尝试在Python中转换Matlab代码但是当我转换为Python时它会给出错误的长度 Matlab代码
a=N_bits/4+1;
T=20e-3;
Fc=8/T
dt=1/8/Fc;
t=dt:dt:a*T;
length(t)
输出:
1664
Python代码
N_bits=1e2
a=int((N_bits/4)+1)
T=20e-3
Fc=8/T
dt=(1/8)/Fc
t=arange(dt,(a*T),dt)
print(len(t))
输出:
1663
答案 0 :(得分:2)
arange的停止(第二个参数)在输出中被排除。
>>> arange(0, 10, 2)
array([0, 2, 4, 6, 8])
>>> len(_)
5
根据arange docstring:
arange([start,] stop [,step,],dtype = None)
...
在半开区间
内生成值[start, stop)
要使用matlab获得相同的结果,请调整stop(第二个参数):
arange(dt, (a*T)+dt, dt)