【发布时间】:2018-11-12 10:48:38
【问题描述】:
我正在尝试将以下 Matlab 代码转换为 Python 代码。我已经转换了超过 50% 的文件,但仍停留在这一点上。在 MATLAB 中:-
for kk=1:length(message_vector)
pn_sequence_h=round(2*(rand(Mw/2,Nw/2)-0.5));
pn_sequence_v=round(2*(rand(Mw/2,Nw/2)-0.5));
correlation_h(kk)=corr2(cH1,pn_sequence_h);
correlation_v(kk)=corr2(cV1,pn_sequence_v);
correlation(kk)=(correlation_h(kk)+correlation_v(kk))/2;
end
在 Python 中-
for kk in range(1,len(message)):
pn_sequence_h = random.sample(range(1000,100000),k = int(math.ceil(Mc/2.0)) * int(math.ceil(Nc/2.0)))
for i in range(len(pn_sequence_h)):
pn_sequence_h[i] = round(2*(pn_sequence_h[i]*0.00001 - 0.5))*0.06
correlation=[]
correlation.append[kk]=corr2(cD,pn_sequence_h[i])
我想将correlation_h(kk)=corr2(cH1,pn_sequence_h);line 更改为我已经做过但不起作用的 Python。
所以我想在 python 中创建一个列表,它将保存每个数字的值。 (kk)。我对python很陌生,所以我很困惑。请帮忙。
【问题讨论】:
-
在外循环之外,
correlation = [0]*len(message)或其他一些标记值。然后就在循环内correlation[kk] = ...。 -
请注意,在您的代码 sn-p 中,您每次通过循环都会清空
correlation = []变量,而不仅仅是附加到它。
标签: python-2.7 matlab for-loop image-processing correlation