Matlab ODE Solvers - Paramater Question

1 Ansicht (letzte 30 Tage)
Joe
Joe am 17 Mai 2024
Kommentiert: Torsten am 17 Mai 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 (:

Antworten (2)

Walter Roberson
Walter Roberson am 17 Mai 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 am 17 Mai 2024
Verschoben: Torsten am 17 Mai 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 Kommentare
Joe
Joe am 17 Mai 2024
Thanks! How I include the extra final condition? Would that go in ode45 line?
Torsten
Torsten am 17 Mai 2024
If you have a final condition for one of the unknown functions, you should use "bvp4c" instead of "ode45".

Melden Sie sich an, um zu kommentieren.

Produkte


Version

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by