【问题标题】:Translating matlab into python将matlab翻译成python
【发布时间】:2017-10-12 13:45:00
【问题描述】:

我正在尝试翻译一个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

【问题讨论】:

    标签: python matlab code-translation


    【解决方案1】:

    编辑:(输出更正,参数错误)

    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]
    

    【讨论】:

    • thx 但结果不一样,matlab 中的维度是 2511,而 python 中的维度是 271 len,包含 7 个项目(1953 年)。
    猜你喜欢
    • 1970-01-01
    • 2020-03-12
    • 1970-01-01
    • 1970-01-01
    • 2017-01-10
    • 1970-01-01
    • 1970-01-01
    • 2020-04-17
    • 1970-01-01
    相关资源
    最近更新 更多