code: def test_1d():
      global inf
      f = KalmanFilter(dim_x=2, dim_z=1)
      inf = InformationFilter(dim_x=2, dim_z=1)
  
      # ensure __repr__ doesn't assert
      str(inf)
  
      f.x = np.array(
          [[2.0], [0.0]]
      )  # initial state (location and velocity)
  
      inf.x = f.x.copy()
      f.F = np.array(
          [[1.0, 1.0], [0.0, 1.0]]
      )  # state transition matrix
  
      inf.F = f.F.copy()
      f.H = np.array([[1.0, 0.0]])  # Measurement function
      inf.H = np.array([[1.0, 0.0]])  # Measurement function
      f.R *= 5  # state uncertainty
      inf.R_inv *= 1.0 / 5  # state uncertainty
      f.Q *= 0.0001  # process uncertainty
      inf.Q *= 0.0001
  
      m = []
      r = []
      r2 = []
      zs = []
      s = Saver(inf)
      for t in range(100):
          # create measurement = t plus white noise
          z = t + random.randn() * 20
          zs.append(z)
  
          # perform kalman filtering
          f.update(z)
          f.predict()
  
          inf.update(z)
          inf.predict()
  
          # save data
          r.append(f.x[0, 0])
          r2.append(inf.x[0, 0])
          m.append(z)
          print(inf.y)
          s.save()
  
          assert abs(f.x[0, 0] - inf.x[0, 0]) < 1.0e-12
  
      if DO_PLOT:
          plt.plot(m)
          plt.plot(r)
          plt.plot(r2)
  
file_path: filterpy/filterpy/kalman/tests/test_information.py
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import numpy.random
  import numpy
  import matplotlib.pyplot
  from filterpy.common import Saver
  from filterpy.kalman import KalmanFilter, InformationFilter
label_desc: Use image node_id 2 for calling a global function with example usage: test_1d() without return types