Challenge

Week 4.1 - Solving second order ODEs

in this function b - damping coefficient

g - gravity

l - length of pedulum

m - mass

here i have choosen initial displacement of pendulum is - 0

initial velocity is - 5m/s

t_span is time array

ode func defins (t, theta).

clear all
close all
clc

b=0.2;
g=9.81;
l=1;
m=0.1;

% initial condition
theta_0 = [0;5];

% time points
t_span = linspace(0,10,500);

% solve ode
[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))
ylabel('plot')
xlabel('time')

here 6th line is 1st order ode and 7th line is second order ode and then combined them.

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

here the first curve (blue color) is displacement 0

second curve(red color) is velocity 5m/s

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.