前提・実現したいこと
以下のコードのグラフを作成したいのですが、求めたい値の最終値しかプロットされず作りたいグラフとは異なったものが出てきてしまいます。
2と5に収束していく2本の折れ線グラフにしたいです。
発生している問題・エラーメッセージ
該当のソースコード
python
1import numpy as np 2import pandas as pd 3import matplotlib.pyplot as plt 4 5 6def update(P, C, R, x_hat, obs, I): 7 8 G = P * C / (C.T * P * C + R) 9 x_hat = x_hat + G * (obs - C.T * x_hat) 10 P = (I - G * C.T) * P 11 return x_hat, P 12 13a = 2. 14b = 5. 15 16x = np.random.uniform(-5, 5, 100) 17v = np.random.normal(0, 2, 100) 18y = [] 19for i in range(100): 20 y.append(a * x[i] + b + v[i]) 21 22A = np.mat([1]) 23P = np.mat([[1, 0], [0, 1]]) 24R = np.mat([1]) 25I = np.identity(2) 26x_hat = np.mat([[0], [0]]) 27 28 29for i in range(100): 30 C = np.mat([[x[i]], [1]]) 31 obs = np.mat([y[i]]) 32 x_hat, P = update(P, C, R, x_hat, obs, I) 33
試したこと
plt.plot(x_hat)
plt.show()
などいろいろ試したのですができませんでした。。。
補足情報(FW/ツールのバージョンなど)
https://qiita.com/yakawa/items/df51ce7c6bc24bc7aa6e
↑このサイトの時間依存していないほうのグラフを出したいです。
「できません」ではなく、現状どうなっているのかを書いて下さい。
回答1件
あなたの回答
tips
プレビュー