我试图翻译一个matlab代码,并且我正在翻译这部分代码:
[data;SS(ind-1:-1:ind-9)']
在以下背景中:
SS = 1:288
year = 1:288
data = [];
for ind = 10:length(year)
data = [data;SS(ind-1:-1:ind-9)'];
end
我目前所做的是:
SS = range(1,288);
year = range(1,288);
data = [];
for ind in range(10,length(year)):
data.append(######) # code to translate
答案 0 :(得分:2)
编辑:(输出更正,参数错误)
1:288
位于python list(range(1,289))
中,或者如果您使用numpy numpy.arange(1,289)
。
对于索引访问,您必须知道,matlab以1开头,python开始为0,因此SS(ind-1:-1:ind-9)
变为SS[ind-2:ind-11:-1]
SS = list(range(1,289))
data = []
for ind in range(9,len(SS)):
data.append(SS[ind-9:ind][::-1])
或使用numpy:
data = numpy.arange(9,0,-1)[None,:] + numpy.arange(279)[:, None]