how to make a function of this system

2 vues (au cours des 30 derniers jours)
Jens Petit-jean
Jens Petit-jean le 16 Mai 2021
Commenté : Jens Petit-jean le 16 Mai 2021
how do I make a function of this ?

Réponses (1)

Stephan
Stephan le 16 Mai 2021
syms a b y1(t) y2(t)
ode(1,1) = diff(y1,t,2) == a*y2 - cos(diff(y1,t));
ode(2,1) = diff(y2,t) == b*y1 + cos(t)
ode = 
[V,S] = odeToVectorField(ode)
V = 
S = 
odeFun = matlabFunction(V,'vars',{'t','Y','a','b'})
odeFun = function_handle with value:
@(t,Y,a,b)[cos(t)+b.*Y(2);Y(3);-cos(Y(3))+a.*Y(1)]
tspan = [0 1];
yInit = [5 0 1];
a = 1;
b = 2;
[t,y] = ode45(@(t,Y)odeFun(t,Y,a,b), tspan, yInit);
plot(t,y)
  5 commentaires
Stephan
Stephan le 16 Mai 2021
Modifié(e) : Stephan le 16 Mai 2021
y1 & y2 are the solutions - and due to your system they will only be numerical solutions. They can not be input. So please elaborate what exactly you want to do.
Jens Petit-jean
Jens Petit-jean le 16 Mai 2021
oh yeah sorry I mean dy(1) and dy(2)

Connectez-vous pour commenter.

Catégories

En savoir plus sur Symbolic Math Toolbox 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!

Translated by