如何将迭代公式转换为 Python

How to translate an iterative formula into Python

我是 Python 的初学者,我正在尝试将此公式转换为 Python 以创建一个向量,这要归功于 :

CN formula

我试过这段代码:

CN_mod_0 = []
CN = []
CN[0] = 35
for i in range(1,96):
    CN[i] = 1200 / (1200/CN[i-1] + (e_num_H_0[i]- (p_num_H_0[i-1] - d_num_H_0[i-1])))
    CN_mod_0.append(CN[i])
CN_mod_0

但是我输入的初始值CN[0]有问题... 向量 e_num_H_0、p_num_H_0 和 d_num_H_0 的长度均为 96。

非常感谢您的帮助

澄清一下,您可以使用其中已有的元素来初始化列表。

CN = [35]

在这种情况下,如果您想用 96 个元素初始化 CN,您可以执行以下任一操作: CN = [0] * 96

它给你一个长度为 96 的列表,用 0 填充,或者你可以使用 numpy:

import numpy as np
CN = np.zeroes(96)

给出长度为 96 的数组,再次用 0 填充。当您遍历 for 循环时,第 i 个位置的 CN 数组将更新为您的公式计算出的值。最后,我应该提到 python 索引从 0 开始,所以你的 for 循环应该是:

for i in range(95):
    # do something

这将从第 0 个索引开始计数,并计算最后一个元素,即第 95 个索引。