How to solve this equation with ode45?

3 views (last 30 days)
Califfo
Califfo on 23 Dec 2019
Commented: 渴健 王 on 24 Nov 2021
I would like to solve this equation with ode45 suite:
in which:
  • ;
Is it correct to rewrite this equation as a system of first-order ODEs by making the following substitutions?
I will be grateful for any help!

Answers (1)

krishna teja
krishna teja on 23 Dec 2019
yes, you are right, you should split equations
function dydt = ode45fcn(t,y)
p = 2.67;
a = 0.25;
ag = 0.5*sin(4*pi*t); % your model requrires extra input 't'
g = 9.8;
dydt = zeros(2,1);
dydt(1) = y(2);
dydt(2) = -p*( sin(a*sign(y(1)) - y(1)) + ag/g*(cos(a*sign(y(1))-y(1))) );
tspan = 0:0.000001:1;
y0 = [0 0.01];
[t,y] = ode45(@(t,y) ode45fcn(t,y), tspan, y0);
subplot 121
plot(t,y(:,1))
title('dot_y')
subplot 122
plot(t,y(:,2),'-r')
title('ddot_y')

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!