-3

Matlab プログラムを Python に変換しようとしています。それは私が望む結果を私に与えていません。

Matlab コード:

for jj=1:data_length            %for each symbol in the input symbol sequence

    [a,b]= min(abs(phase_recovered(jj)-U_alphabets));    

    quantized(jj)=U_alphabets(b);     
end

quantizedfor ループで初めて初期化されます。ただし、Pythonではエラーが発生していました

quantized未定義です。

quantizedしたがって、長さが に等しいゼロとして定義しましたdata_length

Python コード:

quantized=zeros(data_length,dtype='complex')
for jj in arange(0,data_length):
    diff=np.absolute((phase_recovered[jj]-u_alphabets))
    a=diff.argmin()
    b=diff[a]
    quantized[jj]=u_alphabets[b]
4

1 に答える 1

1

行が必要ないと思いますb = diff[a]、次のようなものが必要です:

quantized=zeros(data_length,dtype='complex')
for jj in arange(0,data_length):
    diff=np.absolute((phase_recovered[jj]-u_alphabets))
    b = diff.argmin()
    quantized[jj] = u_alphabets[b]

また、u_alphabets がたまたまソートされている場合は、 ここで説明されているようなソリューションを使用できます。

于 2013-08-15T14:09:21.813 に答える