how to make a function of this system

3 views (last 30 days)
Jens Petit-jean
Jens Petit-jean on 16 May 2021
Commented: Jens Petit-jean on 16 May 2021
how do I make a function of this ?

Answers (1)

Stephan
Stephan on 16 May 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 Comments
Jens Petit-jean
Jens Petit-jean on 16 May 2021
oh yeah sorry I mean dy(1) and dy(2)

Sign in to comment.

Categories

Find more on Symbolic Math Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!