Matlab到Python的转换:未定义变量
我正在尝试将一个Matlab程序转换成Python。它没有给我想要的结果 Matlab代码:Matlab到Python的转换:未定义变量,python,matlab,numpy,Python,Matlab,Numpy,我正在尝试将一个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 在这里,量化是第一次在for循环中初始化的
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
在这里,量化是第一次在for循环中初始化的。然而,在Python中,它给出了错误
量化是未定义的
所以我定义量化为长度等于数据长度的零
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]
我认为你不需要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_字母碰巧被排序,您可以使用类似于所述的解决方案
.你真的想用更好的标题来回答你的问题。你还需要包括你给出的输入、你期望的输出以及你得到的结果。所以我将quantized定义为长度等于数据长度的零。好的,那么问题出在哪里呢?请尝试一个标题,如“查找数组中最接近的值”。Greatttt谢谢: