Advertisement
Guest User

Untitled

a guest
Apr 24th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.92 KB | None | 0 0
  1. parfuncs = Association @ ParametricNDSolve[
  2. {
  3. stock'[t] == stock[t] × growthRate[t],
  4. stock[2016] == 1,
  5. growthRate[2016] == gr0,
  6. WhenEvent[ t > 2018, growthRate[t] -> gr1],
  7. WhenEvent[ t > 2018, growthRate[t] -> gr2],
  8. WhenEvent[ t > 2018, growthRate[t] -> gr3],
  9. },
  10. { stock, growthRate },
  11. { t, 2016, 2027 },
  12. { gr0, gr1, gr2, gr3 },
  13. DiscreteVariables -> { growthRate },
  14. InterpolationOrder -> Automatic, (* alternatively: 1, 2, or All *)
  15. Method -> {
  16. "EquationSimplification" -> { Automatic, "SimplifySystem" -> False },
  17. "ParametricSensitivity" -> None,
  18. "IndexReduction" -> {
  19. "Pantelides",
  20. "IndexGoal" -> 1,
  21. "ConstraintMethod" -> Automatic
  22. }
  23. }
  24. ];
  25.  
  26. ReplaceAll[
  27. parfuncs[stock][gr0,gr1,gr2,gr3],
  28. {
  29. gr0 -> 0.01,
  30. gr1 -> 0.03,
  31. gr2 -> 0.05,
  32. gr3 -> 0.01
  33. }
  34. ]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement