Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab到Python的转换:未定义变量_Python_Matlab_Numpy - Fatal编程技术网

Matlab到Python的转换:未定义变量

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循环中初始化的

我正在尝试将一个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循环中初始化的。然而,在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谢谢: