将matlab转换为python

时间:2017-05-13 09:07:28

标签: python matlab code-translation

我试图翻译一个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

1 个答案:

答案 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]