How can I use ODE45 output to evaluate on each time a function inside a the Odefun
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello to everybody
Actually I already have my Quarter vehicle model done using a second Order differential equation f(x, y, xdot, ydot). And it works very good. Let me show you this.
function yp=comportamiento(t,y)
x=f(t)
yp = zeros(4,1);
yp(1)=y(2);
yp(2)= (-((ks+kt)/mw)*y(1)) -((bs/mw)*y(2)) +((ks/mw)*y(3)) + ((bs/mw)*y(4)) + ((kt/mw)*x);
yp(3)=y(4);
yp(4)= ((ks/mb)*y(1)) +((bs/mb)*y(2)) - ((ks/mb)*y(3)) - ((bs/mb)*y(4));
Applying my ode45 fun
tspan=[0:0.001:10];
y0=zeros(4,1);
[t, y] = ode45('comportamiento',tspan,y0);
Results are good. But now, problem is that I need to use a new function. One that looks like f(x, y, xdot, ydot, m(xdot,ydot)). During the calculation each xdot and ydot correspond to y(i1) and y(i2) generated from ODE45, I will need to call another function m(xdot,ydot) using as input every y(i). In others words I don't know how get those y(i) and how to use the to eval my f(x, y,xdot,ydot, m(xdot,ydot)).
I am sure I will need to open a new fun
function odefun=(y(i1),y(i2))
where do I have to indicate that
y(i1)= xdot;
y(i2)=ydot;
mf=m(xdot,ydot)
end
Regards
J.L
0 commentaires
Réponses (2)
Bob
le 27 Oct 2016
Dear Juan Luis Chacon,
Could you please help me with the topic below?
Yours sincerely, Xaris
0 commentaires
Voir également
Catégories
En savoir plus sur Ordinary Differential Equations dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!