Challenge

Week 3 - Solving second order ODEs

https://youtu.be/Li8Suvf3C5Y

MATLAB MAIN PROGRAM:




clear all
close all
clc


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

% initial condition

theta_0=[0;3];

%time points

t_span= linspace(0,20,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))
xlabel('time');
ylabel('plot');


%for animation

ct=1;
for i=1:length(results(:,1));

    x0=0;
    y0=0;


    x1=l*sin(results(i,1));
    y1=-l*cos(results(i,1));

   figure(2)

    plot([-1,1],[0,0],'linewidth',5,'color','g');
    axis([-2 2 -2 2]);
    hold on
    line([x0,x1],[y0,y1],'linewidth',5,'color','b');
    
    plot(x1,y1,'o','MarkerSize',25,'MarkerFaceColor','r');
    hold off
    grid on
    M (ct) = getframe(gcf);
    ct=ct+1;
end

% create movie
movie(M)
videofile = VideoWriter('pendulum_kinematics.avi','uncompressed AVI');
open(videofile);
writeVideo(videofile,M);
close(videofile)



      ODE_func:

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/l)*sin(theta1);
dtheta_dt=[dtheta1_dt;dtheta2_dt];
end



EXPLANATION:

* the values of l,m,b,g re assigned.

* time interval(0-20s) is assigned,initial condition (at t=0)are assigned such 
  as,angular displacement=0 and angular velocity =3rad/sec are also assigned.

* ode function is used to solve ode.

* in function program the displacement and velocity are calculated.

* for loop, position of the pendulum at each is captured angle the initial end x0=0 y0=0
  and other end x1=lsin(theta),y1=-lcos(theta) are assigned.the strings are plotted. the 
  sphere is plotted using marker.finally using getframe(gcf) command the frame.

* using movie command simulation of pendulum is obtained.
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.