|
37 | 37 | @test linmodel5.nu == 2 |
38 | 38 | @test linmodel5.nd == 1 |
39 | 39 | @test linmodel5.ny == 2 |
40 | | - sysu_ss = sminreal(c2d(minreal(ss(sys))[:,1:2], Ts, :zoh)) |
41 | | - sysd_ss = sminreal(c2d(minreal(ss(sys))[:,3], Ts, :tustin)) |
42 | | - sys_ss = [sysu_ss sysd_ss] |
| 40 | + sysu_ss = c2d(sminreal(ss(sys)[:,1:2]), Ts, :zoh) |
| 41 | + sysd_ss = c2d(sminreal(ss(sys)[:,3]), Ts, :tustin) |
| 42 | + sys_ss = minreal([sysu_ss sysd_ss]) |
43 | 43 | @test linmodel5.A ≈ sys_ss.A |
44 | 44 | @test linmodel5.Bu ≈ sys_ss.B[:,1:2] |
45 | 45 | @test linmodel5.Bd ≈ sys_ss.B[:,3] |
|
51 | 51 |
|
52 | 52 | linmodel6 = LinModel([delay(Ts) delay(Ts)]*sys,Ts,i_d=[3]) |
53 | 53 | @test linmodel6.nx == 3 |
54 | | - @test sum(eigvals(linmodel6.A) .≈ 0) == 1 |
55 | | - |
56 | | - linmodel7 = LinModel( |
57 | | - ss(diagm( .1: .1: .3), I(3), diagm( .4: .1: .6), 0, 1.0), |
58 | | - i_u=[1, 2], |
59 | | - i_d=[3]) |
60 | | - @test linmodel7.A ≈ diagm( .1: .1: .3) |
61 | | - @test linmodel7.C ≈ diagm( .4: .1: .6) |
| 54 | + @test sum(isapprox.(eigvals(linmodel6.A), 0, atol=1e-15)) == 1 |
| 55 | + |
| 56 | + A = diagm( .1: .1: .3) |
| 57 | + Bu = [I(2); zeros(1,2)] |
| 58 | + C = diagm( .4: .1: .6) |
| 59 | + Bd = [zeros(2,1); I(1)] |
| 60 | + Dd = 0; |
| 61 | + linmodel7 = LinModel(A, Bu, C, Bd, Dd, 1.0) |
| 62 | + @test linmodel7.A ≈ A |
| 63 | + @test linmodel7.Bu ≈ Bu |
| 64 | + @test linmodel7.Bd ≈ Bd |
| 65 | + @test linmodel7.C ≈ C |
| 66 | + @test linmodel7.Dd ≈ zeros(3,1) |
62 | 67 |
|
63 | 68 | linmodel8 = LinModel(Gss.A, Gss.B, Gss.C, zeros(Float32, 2, 0), zeros(Float32, 2, 0), Ts) |
64 | 69 | @test isa(linmodel8, LinModel{Float64}) |
|
0 commit comments