0
我有以下在Matlab(I沒有Matlab的)碼,即通過取樣的二進制值的序列顯然構建整數:我無法理解bitget()
功能Python的等效Matlab的矢量切片
velocity_LUT_10bit = zeros(2^10,1);
for n = 1:length(velocity_LUT_10bit),
imagAC = bin2dec(num2str(bitget(n-1,9:-1:6))) - bitget(n-1,10)*2^4; % Imaginary part of autocorrelation: signed 5-bit integer
realAC = bin2dec(num2str(bitget(n-1,4:-1:1))) - bitget(n-1, 5)*2^4; % Real part of autocorrelation: signed 5-bit integer
velocity_LUT_10bit(n) = velNyq_CF*angle((realAC+0.5)/16 + 1i*(imagAC+0.5)/16)/pi;
end;
。從docs開始,第一個arg是採樣序列,第二個arg指定了採樣的範圍,但我對分割x:-y:z
意味着什麼感到困惑。我從docs瞭解到,它是「從索引x到z的樣本,從y的右邊往左走」。那是對的嗎?
bin2dec(num2str(bitget(n-1,9:-1:6)))
的numpy相當於什麼?我知道我應該使用numpy.packbits()
,但我有點卡住了。
謝謝!我沒有想過在Octave中嘗試排除故障。 – Raoul
'np.binary_repr'可能會啓動,給出一個類似的字符串版本。 – hpaulj