本文整理汇总了Python中filterpy.kalman.UnscentedKalmanFilter.weights方法的典型用法代码示例。如果您正苦于以下问题:Python UnscentedKalmanFilter.weights方法的具体用法?Python UnscentedKalmanFilter.weights怎么用?Python UnscentedKalmanFilter.weights使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类filterpy.kalman.UnscentedKalmanFilter
的用法示例。
在下文中一共展示了UnscentedKalmanFilter.weights方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_sigma_plot
# 需要导入模块: from filterpy.kalman import UnscentedKalmanFilter [as 别名]
# 或者: from filterpy.kalman.UnscentedKalmanFilter import weights [as 别名]
def test_sigma_plot():
""" Test to make sure sigma's correctly mirror the shape and orientation
of the covariance array."""
x = np.array([[1, 2]])
P = np.array([[2, 1.2],
[1.2, 2]])
kappa = .1
# if kappa is larger, than points shoudld be closer together
sp0 = UKF.weights(2, kappa)
sp1 = UKF.weights(2, kappa*1000)
Xi0 = UKF.sigma_points (x, P, kappa)
Xi1 = UKF.sigma_points (x, P, kappa*1000)
assert max(Xi1[:,0]) > max(Xi0[:,0])
assert max(Xi1[:,1]) > max(Xi0[:,1])
if DO_PLOT:
plt.figure()
for i in range(Xi0.shape[0]):
plt.scatter((Xi0[i,0]-x[0, 0])*sp0[i] + x[0, 0],
(Xi0[i,1]-x[0, 1])*sp0[i] + x[0, 1],
color='blue')
for i in range(Xi1.shape[0]):
plt.scatter((Xi1[i, 0]-x[0, 0]) * sp1[i] + x[0,0],
(Xi1[i, 1]-x[0, 1]) * sp1[i] + x[0,1],
color='green')
stats.plot_covariance_ellipse([1, 2], P)
示例2: test_sigma_points_1D
# 需要导入模块: from filterpy.kalman import UnscentedKalmanFilter [as 别名]
# 或者: from filterpy.kalman.UnscentedKalmanFilter import weights [as 别名]
def test_sigma_points_1D():
""" tests passing 1D data into sigma_points"""
kappa = 0.
ukf = UKF(dim_x=1, dim_z=1, dt=0.1, hx=None, fx=None, kappa=kappa)
points = ukf.weights(1, 0.)
assert len(points) == 3
mean = 5
cov = 9
Xi = ukf.sigma_points (mean, cov, kappa)
xm, ucov = unscented_transform(Xi, ukf.W, ukf.W, 0)
# sum of weights*sigma points should be the original mean
m = 0.0
for x,w in zip(Xi, ukf.W):
m += x*w
assert abs(m-mean) < 1.e-12
assert abs(xm[0] - mean) < 1.e-12
assert abs(ucov[0,0]-cov) < 1.e-12
assert Xi.shape == (3,1)
assert len(ukf.W) == 3
示例3: test_julier_weights
# 需要导入模块: from filterpy.kalman import UnscentedKalmanFilter [as 别名]
# 或者: from filterpy.kalman.UnscentedKalmanFilter import weights [as 别名]
def test_julier_weights():
for n in range(1,15):
for k in np.linspace(0,5,0.1):
Wm = UKF.weights(n, k)
assert abs(sum(Wm) - 1) < 1.e-12