Challenge

Week 3 - Solving second order ODEs

The solution for solving ode is as follows,

b is the damping coefficient, g is the gravity, l is the length,m is the mass of the ball

the theta is starting from initital time 0 to the velocity of 3,

the linspace command give 100 value of 0 to 20 sec in time,

the ode function solve for given values,

finally plotting the results.

b = 0.05;
g = 9.81;
l = 1;
m = 1;
theta_0 = [0;3];
t_span = linspace(0,20,100);
[t,results] = ode45(@(t,theta)ode_func(t,theta,b,g,l,m),t_span,theta_0);
plot (t,results(:,1))
hold on
plot(t,results(:,2))
xlabel('time');
ylabel('plot')

the ode_func code is attached below

function [dtheta_dt] = ode_func(t,theta,b,g,l,m)
theta1 = theta(1)
theta2 = theta(2)
dtheta1_dt = theta2;
dtheta2_dt = -(b/m)*theta2 - (g/1)*sin(theta1);
dtheta_dt = [dtheta1_dt; dtheta2_dt];
end

the plot is attached below

the errors faced is that for typing ode_func, i typed odefunc, once it is corrected the error got corrected.

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.