Optimization toolbox with ode45
Ältere Kommentare anzeigen
Thank you in advance for the help.
I want to use the optimization toolbox to find the correct value of v to get the condition that Y(end,2) = 0 instead of trying random v values in a for loop.
Does anyone has any suggestions in how can i do that?
here there is the code
v = [13:0.1:15]
for i=1:length(v)
u0 = (v(i)-ev-q*rd); %different values of pi_star at z=0
%having varied Pac
f = @(z,y) [-(a*y(2))./((1-(y(1)./(b*xi_star))).^3);... %dpi_star_dz
-y(1)/c]; %dq_star_dz
[z,Y] = ode45(f,[0 1],[u0 q_0]);
end
Antworten (1)
Alan Weiss
am 15 Mär. 2021
0 Stimmen
I guess that I would make a minimization problem for Y(end,2)^2. I don't know what your parameters are, but you can use fminbnd if you have a scalar parameter, or use lsqnonlin or one of the Global Optimization Toolbox solvers for multiple parameters.
2 Kommentare
Alessia Nannetti
am 15 Mär. 2021
Alan Weiss
am 16 Mär. 2021
Maybe the question is "How can I connect an optimization solver and an ODE solver?" Here are some examples:
Alan Weiss
MATLAB mathematical toolbox documentation
Kategorien
Mehr zu Ordinary Differential Equations finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!