Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- parfuncs = Association @ ParametricNDSolve[
- {
- stock'[t] == stock[t] × growthRate[t],
- stock[2016] == 1,
- growthRate[2016] == gr0,
- WhenEvent[ t > 2018, growthRate[t] -> gr1],
- WhenEvent[ t > 2018, growthRate[t] -> gr2],
- WhenEvent[ t > 2018, growthRate[t] -> gr3],
- },
- { stock, growthRate },
- { t, 2016, 2027 },
- { gr0, gr1, gr2, gr3 },
- DiscreteVariables -> { growthRate },
- InterpolationOrder -> Automatic, (* alternatively: 1, 2, or All *)
- Method -> {
- "EquationSimplification" -> { Automatic, "SimplifySystem" -> False },
- "ParametricSensitivity" -> None,
- "IndexReduction" -> {
- "Pantelides",
- "IndexGoal" -> 1,
- "ConstraintMethod" -> Automatic
- }
- }
- ];
- ReplaceAll[
- parfuncs[stock][gr0,gr1,gr2,gr3],
- {
- gr0 -> 0.01,
- gr1 -> 0.03,
- gr2 -> 0.05,
- gr3 -> 0.01
- }
- ]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement