Matlab矩阵与Python的范围

时间:2013-07-28 10:15:09

标签: python numpy

您好我正在尝试在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

1 个答案:

答案 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)