Buckets:
| # -*- coding: utf-8 -*- | |
| """ | |
| Created on Fri Feb 13 17:47:56 2015 | |
| @author: rlabbe | |
| """ | |
| import numpy as np | |
| from filterpy.kalman import UnscentedKalmanFilter as UKF | |
| from math import atan2, radians,degrees | |
| from filterpy.common import stats | |
| import matplotlib.pyplot as plt | |
| p = (-10, -10) | |
| def hx(x): | |
| dx = x[0] - hx.p[0] | |
| dy = x[1] - hx.p[1] | |
| return np.array([atan2(dy,dx), (dx**2 + dy**2)**.5]) | |
| def fx(x,dt): | |
| return x | |
| kf = UKF(2, 2, dt=0.1, hx=hx, fx=fx, kappa=2.) | |
| kf.x = np.array([100, 100.]) | |
| kf.P *= 40 | |
| hx.p = kf.x - np.array([50,50]) | |
| d = ((kf.x[0] - hx.p[0])**2 + (kf.x[1] - hx.p[1])**2)**.5 | |
| stats.plot_covariance_ellipse( | |
| kf.x, cov=kf.P, axis_equal=True, | |
| facecolor='y', edgecolor=None, alpha=0.6) | |
| plt.scatter([100], [100], c='y', label='Initial') | |
| kf.R[0,0] = radians (1)**2 | |
| kf.R[1,1] = 2.**2 | |
| kf.predict() | |
| kf.update(np.array([radians(45), d])) | |
| print(kf.x) | |
| print(kf.P) | |
| stats.plot_covariance_ellipse( | |
| kf.x, cov=kf.P, axis_equal=True, | |
| facecolor='g', edgecolor=None, alpha=0.6) | |
| plt.scatter([100], [100], c='g', label='45 degrees') | |
| p = (13, -11) | |
| hx.p = kf.x - np.array([-50,50]) | |
| d = ((kf.x[0] - hx.p[0])**2 + (kf.x[1] - hx.p[1])**2)**.5 | |
| kf.predict() | |
| kf.update(np.array([radians(135), d])) | |
| stats.plot_covariance_ellipse( | |
| kf.x, cov=kf.P, axis_equal=True, | |
| facecolor='b', edgecolor=None, alpha=0.6) | |
| plt.scatter([100], [100], c='b', label='135 degrees') | |
| plt.legend(scatterpoints=1, markerscale=3) |
Xet Storage Details
- Size:
- 1.49 kB
- Xet hash:
- 618c10ae71c0a74ac8af9c63243d72fd39cdc68ab0ea35fa6baf3fb68c66a873
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.