0
私は現在、再帰アルゴリズムをコーディングしています。以下のような関数をforループでたくさん作成しました。Forループの初期値を指定
def create_m_(y, m, theta, mc, theta_mc):
for i in range (len(data[0])-1):
m = create_m(y)[i]
theta = theta_m[i]
mc = create_mc(y)[i-1]
create_theta_mc[i-1]
m_ = (m * theta_mc + mc * theta + m * mc)
return m_
唯一のものは、次のとおりです。MCとループを開始しますtheta_mcの初期値は、関数(これらの初期値は、特定のケースである)で数式を使って計算されていません。 mcとtheta_mcの最初の値を指定するループを設定するにはどうすればよいですか?
編集: これを行うことはできますか?
def create_m_(y, m, theta, mc, theta_mc):
for i in range (len(data[0])-1):
if i == 1:
m = m_2
theta = theta_m_2
else:
m = create_m(y)[i]
theta = theta_m[i]
mc = create_mc(y)[i-1]
create_theta_mc[i-1]
m_ = (m * theta_mc + mc * theta + m * mc)
return m_
あなたのコードはあまり意味がありません。 forループの最後の行はreturn文であるため、ループはループではありません。一度だけ実行されます。ループが最初に実行されるとき、i == 0(1ではない)。これを修正してください。 –