(nx, nu)
| 32 | |
| 33 | |
| 34 | def create_linear_ode(nx, nu): |
| 35 | n = min(nx, nu) |
| 36 | A = np.eye(nx) |
| 37 | A[1, 0] = 0.1 |
| 38 | B = np.zeros((nx, nu)) |
| 39 | B[range(n), range(n)] = 1.0 |
| 40 | B[0, 1] = 0.5 |
| 41 | c = np.zeros(nx) |
| 42 | ode = dynamics.LinearODE(A, B, c) |
| 43 | cd = ode.createData() |
| 44 | assert np.allclose(ode.A, cd.Jx) |
| 45 | assert np.allclose(ode.B, cd.Ju) |
| 46 | return ode |
| 47 | |
| 48 | |
| 49 | def ode_finite_difference(dyn: dynamics.ODEAbstract, space, x, u, eps=1e-8): |
no test coverage detected