2013-07-28 18 views
2

你好我想轉換一個Matlab代碼在Python,但是當我轉換成Python它給出錯誤的長度 MATLAB代碼Matlab的矩陣Vs的Python的人氣指數

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

'Fc'的值是什麼? – falsetru

+0

哦對不起Fc = 8/T –

回答

2

arange's stop(第二個參數)被排除在輸出中。

>>> arange(0, 10, 2) 
array([0, 2, 4, 6, 8]) 
>>> len(_) 
5 

根據人氣指數文檔字符串:

人氣指數([開始,]停止[步驟],D型細胞=無)

...

值被內產生半開間隔[start, stop)

爲了得到相同的結果h matlab,調整停止(第二個參數):

arange(dt, (a*T)+dt, dt) 
+0

非常感謝你 –

+0

上帝保佑你:) –

+0

@marriamnayyer,表示感謝接受答案和upvote。 ;) – falsetru