-
-
Notifications
You must be signed in to change notification settings - Fork 209
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Parameter identifiability example from docs fails #2881
Comments
@moble For the time being, you can just pass the observed quantities to the function directly like this using StructuralIdentifiability, ModelingToolkit
using ModelingToolkit: t_nounits as t, D_nounits as D
@mtkmodel Biohydrogenation begin
@variables begin
x4(t)
x5(t)
x6(t)
x7(t)
y1(t), [output = true]
y2(t), [output = true]
end
@parameters begin
k5
k6
k7
k8
k9
k10
end
# define equations
@equations begin
D(x4) ~ -k5 * x4 / (k6 + x4)
D(x5) ~ k5 * x4 / (k6 + x4) - k7 * x5 / (k8 + x5 + x6)
D(x6) ~ k7 * x5 / (k8 + x5 + x6) - k9 * x6 * (k10 - x6) / k10
D(x7) ~ k9 * x6 * (k10 - x6) / k10
end
end
# define the system
@mtkbuild de = Biohydrogenation()
x4, x5, x6, x7 = unknowns(de)
# query local identifiability
# we pass the ode-system
local_id_all = assess_local_identifiability(de, measured_quantities = [x4, x5], prob_threshold = 0.99) |
Thanks for looking into this, Gleb! Since posting this, I took a look too and found function StructuralIdentifiability.find_identifiable_functions(
ode::ModelingToolkit.ODESystem;
measured_quantities = ModelingToolkit.observed(ode), Thanks for your help! |
Thanks! We indeed used |
@moble Thanks again for reporting this! |
Works like a charm. Thanks! |
Describe the bug 🐞
Following the example on this page results in
I'm not sure that this package is really to blame. Maybe @pogudingleb could provide some insight?
Expected behavior
I would have thought that marking
y1(t)
andy2(t)
with[output = true]
would be enough to communicate that these are outputs.Minimal Reproducible Example 👇
I've just copied the example code, but run it in a temp environment:
Error & Stacktrace⚠️
Environment (please complete the following information):
using Pkg; Pkg.status()
using Pkg; Pkg.status(; mode = PKGMODE_MANIFEST)
versioninfo()
The text was updated successfully, but these errors were encountered: