@@ -109,7 +109,7 @@ __Note__: as of writing this tutorial, UTF-symbols such as Greek characters are
109
109
``` julia
110
110
using StructuralIdentifiability, ModelingToolkit
111
111
@parameters b c a beta g delta sigma
112
- @variables t x1 (t) x2 (t) x3 (t) x4 (t) y (t)
112
+ @variables t x1 (t) x2 (t) x3 (t) x4 (t) y (t) y2 (t)
113
113
D = Differential (t)
114
114
115
115
eqs = [
@@ -119,21 +119,21 @@ eqs = [
119
119
D (x4) ~ sigma * x4 * (g * x2 - delta * x3)/ x3
120
120
]
121
121
122
- measured_quantities = [y~ x1+ x2]
122
+ measured_quantities = [y~ x1+ x2, y2 ~ x2 ]
123
123
124
124
125
125
ode = ODESystem (eqs, t, name= :GoodwinOsc )
126
126
127
127
@time global_id = assess_identifiability (ode, measured_quantities= measured_quantities)
128
- # 28.961573 seconds (88.92 M allocations: 5.541 GiB, 4.01 % gc time)
129
- # Dict{Num, Symbol} with 7 entries:
130
- # c => :globally
131
- # a => :nonidentifiable
132
- # g => :nonidentifiable
133
- # delta => :locally
134
- # sigma => :globally
135
- # beta => :locally
136
- # b => :globally
128
+ # 30.672594 seconds (100.97 M allocations: 6.219 GiB, 3.15 % gc time, 0.01% compilation time)
129
+ # Dict{Num, Symbol} with 7 entries:
130
+ # a => :globally
131
+ # b => :globally
132
+ # beta => :globally
133
+ # c => :globally
134
+ # sigma => :globally
135
+ # g => :nonidentifiable
136
+ # delta => :globally
137
137
```
138
138
We can see that only parameters ` a, g ` are unidentifiable and everything else can be uniquely recovered.
139
139
@@ -151,7 +151,7 @@ eqs = [
151
151
D (x3) ~ g * x2 - delta * x3 + u2,
152
152
D (x4) ~ sigma * x4 * (g * x2 - delta * x3)/ x3
153
153
]
154
- measured_quantities = [y~ x1+ x2]
154
+ measured_quantities = [y~ x1+ x2, y2 ~ x2 ]
155
155
156
156
# check only 2 parameters
157
157
to_check = [b, c]
0 commit comments