How to plot intermediate variables of a function used by ode45 solver
Ältere Kommentare anzeigen
Sir, I am calling ode45 for integrating a diff equation say x'=(1/(H))*(2x)
Main Program:
x0=0.1; final_time=1; [t,x]=ode45(@myfunc,[0,final_time],x0);% ODE Call plot(t(:,1),x(:,1))% plotting the state variable main ends
Function Program:
function dv=myfunc(t,x) H=1.0; Te=2*x(1);% intermediate calculations/variables for my differential equations %The Differential Equation dv=[(1/(H))*(Te)];
But i want to plot the intermediate variables say Te in this case.But ode returns t,x alone.How to plot the intermediate variables that was used in the integration process.
Akzeptierte Antwort
Weitere Antworten (1)
Shashank Prasanna
am 29 Jul. 2013
0 Stimmen
You can define an output function (outputfcn) that will be called after each iteration.
you can specify that in the options structure. In your custom output function you can use a plot command with a hold on in order to plot all you intermediate values.
2 Kommentare
Jan
am 29 Jul. 2013
Even the output function has no access to the internally used variables.
Thayumanavan
am 30 Jul. 2013
Kategorien
Mehr zu Programming 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!