remove bad dimension check in forced_response for dtime systems · python-control/python-control@6e3113a
@@ -348,6 +348,25 @@ def testLsim_mimo(self, mimo):
348348yout, _t, _xout = lsim(mimo.ss1, u, t, x0)
349349np.testing.assert_array_almost_equal(yout, youttrue, decimal=4)
350350351+def test_lsim_mimo_dtime(self):
352+# https://github.com/python-control/python-control/issues/764
353+time = np.linspace(0.0, 511.0e-6, 512)
354+DAC = np.sin(time)
355+ADC = np.cos(time)
356+357+input_Kalman = np.transpose(
358+np.concatenate(([[DAC]], [[ADC]]), axis=1)[0])
359+Af = [[0.45768416, -0.42025511], [-0.43354791, 0.51961178]]
360+Bf = [[2.84368641, 52.05922305], [-1.47286557, -19.94861943]]
361+Cf = [[1.0, 0.0], [0.0, 1.0]]
362+Df = [[0.0, 0.0], [0.0, 0.0]]
363+364+ss_Kalman = ss(Af, Bf, Cf, Df, 1.0e-6)
365+y_est, t, x_est = lsim(ss_Kalman, input_Kalman, time)
366+assert y_est.shape == (time.size, ss_Kalman.ninputs)
367+assert t.shape == (time.size, )
368+assert x_est.shape == (time.size, ss_Kalman.nstates)
369+351370def testMargin(self, siso):
352371"""Test margin()"""
353372#! TODO: check results to make sure they are OK