You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: HISTORY.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,6 +13,9 @@
13
13
solver that auto-switches between explicit and implicit methods, install `OrdinaryDiffEqDefault`. To
14
14
use `Tsit5` install `OrdinaryDiffEqTsit5`, etc. The possible sub-libraries, each containing different solvers,
15
15
can be viewed [here](https://github.com/SciML/OrdinaryDiffEq.jl/tree/master/lib).
16
+
- It should now be safe to use `remake` on problems which have had conservation laws removed.
17
+
The warning regarding this when eliminating conservation laws have been removed (in conjunction
18
+
with the `remove_conserved_warn` argument for disabling this warning).
16
19
- New formula for inferring variables from equations (declared using the `@equations` options) in the DSL. The order of inference of species/variables/parameters is now:
17
20
(1) Every symbol explicitly declared using `@species`, `@variables`, and `@parameters` are assigned to the correct category.
18
21
(2) Every symbol used as a reaction reactant is inferred as a species.
@@ -51,8 +54,6 @@
51
54
- Functional (e.g. time-dependent) parameters can now be used in Catalyst models. These can e.g. be used to incorporate arbitrary time-dependent functions (as a parameter) in a model. For more details on how to use these, please read: https://docs.sciml.ai/Catalyst/stable/model_creation/functional_parameters/.
52
55
- Scoped species/variables/parameters are now treated similar to the latest MTK
53
56
releases (≥ 9.49).
54
-
- The structural identifiability extension is currently disabled due to issues
55
-
StructuralIdentifiability has with Julia 1.10.5 and 1.11.
56
57
- A tutorial on making interactive plot displays using Makie has been added.
57
58
- The BifurcationKit extension has been updated to v.4.
58
59
- There is a new DSL option `@require_declaration` that will turn off automatic inferring for species, parameters, and variables in the DSL. For example, the following will now error:
Copy file name to clipboardExpand all lines: README.md
+15Lines changed: 15 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,6 +30,21 @@ Generated models can be used with solvers throughout the broader Julia and
30
30
for sensitivity analysis, parameter estimation, machine learning applications,
31
31
etc).
32
32
33
+
## Installation
34
+
Catalyst can be installed as follows. Please note, we suggest only installing ModelingToolkit versions 9.59 and earlier for use with Catalyst at this time as changes in ModelingToolkit as of version 9.60 can break various Catalyst functionality.
35
+
```julia
36
+
using Pkg
37
+
38
+
# (optional but recommended) create new environment in which to install Catalyst
39
+
Pkg.activate("catalyst_environment")
40
+
41
+
# install ModelingToolkit 9.59
42
+
Pkg.add(; name ="ModelingToolkit", version ="9.59")
43
+
44
+
# install latest Catalyst release
45
+
Pkg.add("Catalyst")
46
+
```
47
+
33
48
## Breaking changes and new features
34
49
35
50
**NOTE:** Version 14 is a breaking release, prompted by the release of ModelingToolkit.jl version 9. This caused several breaking changes in how Catalyst models are represented and interfaced with.
# [Fitting Parameters for an Oscillatory System](@id parameter_estimation)
2
-
In this example we will use [Optimization.jl](https://github.com/SciML/Optimization.jl) to fit the parameters of an oscillatory system (the Brusselator) to data. Here, special consideration is taken to avoid reaching a local minimum. Instead of fitting the entire time series directly, we will start with fitting parameter values for the first period, and then use those as an initial guess for fitting the next (and then these to find the next one, and so on). Using this procedure is advantageous for oscillatory systems, and enables us to reach the global optimum.
2
+
In this example we will use [Optimization.jl](https://github.com/SciML/Optimization.jl) to fit the parameters of an oscillatory system (the [Brusselator](@ref basic_CRN_library_brusselator)) to data. Here, special consideration is taken to avoid reaching a local minimum. Instead of fitting the entire time series directly, we will start with fitting parameter values for the first period, and then use those as an initial guess for fitting the next (and then these to find the next one, and so on). Using this procedure is advantageous for oscillatory systems, and enables us to reach the global optimum. For more information on fitting ODE parameters to data, please see [the main documentation page](@ref optimization_parameter_fitting) on this topic.
3
3
4
4
First, we fetch the required packages.
5
5
```@example pe_osc_example
@@ -18,18 +18,18 @@ brusselator = @reaction_network begin
18
18
B, X --> Y
19
19
1, X --> ∅
20
20
end
21
-
p_real = [:A => 1., :B => 2.]
21
+
p_real = [:A => 1.0, :B => 2.0]
22
22
nothing # hide
23
23
```
24
24
25
25
We simulate our model, and from the simulation generate sampled data points
26
26
(to which we add noise). We will use this data to fit the parameters of our model.
0 commit comments