Matlab ODE Solvers - Paramater Question

1 view (last 30 days)
Joe
Joe on 17 May 2024
Commented: Torsten on 17 May 2024
Greetings,
I working with a system of differential equations that model amount of components as a reaction proceeds. I want to pass a variable parameter through one of matlab's ode solvers (probably 45/15). This is in addition to time bounds, so it would be like ode45(function, times, [X1(0),X2(0),...X5(0)],... ). I want to find λ given something like X1(final) = 0.35. How to include this information?
Thank you (:

Answers (2)

Walter Roberson
Walter Roberson on 17 May 2024
However... for the task of finding X1(final) = 0.35 you should be using one of the Boundary Value Problems solvers; https://www.mathworks.com/help/matlab/boundary-value-problems.html

Torsten
Torsten on 17 May 2024
Moved: Torsten on 17 May 2024
You mean
ode45(@(t,y)fun(t,y,lambda),times,[X1(0),X2(0),...X5(0)])
function res = fun(t,y,lambda)
...
end
? But what do you mean by "variable parameter" ? This is a contradiction in itself: A parameter isn't variable.
  2 Comments
Joe
Joe on 17 May 2024
Thanks! How I include the extra final condition? Would that go in ode45 line?
Torsten
Torsten on 17 May 2024
If you have a final condition for one of the unknown functions, you should use "bvp4c" instead of "ode45".

Sign in to comment.

Products


Release

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!