示例#1
0
 def test_balanced_truncation(self):
     """Test balanced system is close to original."""
     for num_inputs in [1, 3]:
         for num_outputs in [1, 4]:
             for num_states in [1, 10]:
                 A, B, C = util.drss(num_states, num_inputs, num_outputs)
                 Ar, Br, Cr = util.balanced_truncation(A, B, C)
                 num_time_steps = 10
                 y = util.impulse(A, B, C, num_time_steps=num_time_steps)
                 yr = util.impulse(Ar, Br, Cr, num_time_steps=num_time_steps)
                 np.testing.assert_allclose(yr, y, rtol=1e-5)
示例#2
0
 def test_balanced_truncation(self):
     """Test balanced system is close to original."""
     for num_inputs in [1, 3]:
         for num_outputs in [1, 4]:
             for num_states in [1, 10]:
                 A, B, C = util.drss(num_states, num_inputs, num_outputs)
                 Ar, Br, Cr = util.balanced_truncation(A, B, C)
                 num_time_steps = 10
                 y = util.impulse(A, B, C, num_time_steps=num_time_steps)
                 yr = util.impulse(Ar,
                                   Br,
                                   Cr,
                                   num_time_steps=num_time_steps)
                 np.testing.assert_allclose(yr, y, rtol=1e-3, atol=1e-3)