Hello everyone.
I am working on a project determining the structural identifiability of a model. I observed that if I defined the parameters with the shape of a vector, such as k[1:2], there is a problem saying it cannot find the parameter k[1].
I defined a simple ODE model and 2 different ways to define the parameters:
First method: definition of 2 distincts parameters k1 and k2
@variables t
@variables X(t)
@variables y1
D = Differential(t)
@parameters k_1 k_2
eqs = [D(X) ~ (k_1 + k_2) * X]
@named ODE_sys = ODESystem(eqs, t)
assess_identifiability(ODE_sys, measured_quantities=[y1 ~ X])
This portion works and gives a assumption about the identifiability of the model.
Second method: definition of a vector k[1:2]
@parameters k[1:2]
test = [D(X) ~ (k[1] + k[2])*X]
@named ODE_test = ODESystem(test, t)
assess_identifiability(ODE_test; measured_quantities=[y1 ~ X])
This portion doesn’t work and return the error: key k[1] not found.
I tried at first on a more complex model with a generation of 10 parameters through this vector. It allowed not to write every parameter and to choose the number of parameters.
Did I do something wrong and how can I “automatize” it for n parameters for instance ?
Thank you in advance for your help.