Challenge

Week 3 - Solving second order ODEs

clear all
close all
clc

%input delaration%
b = 0.05;
g = 9.81;
l = 1;
m= 0.1;

%intital 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);
ct=1;
for i= 1:length(t_span);
    x0=0;
    y0=0;
    
    x1= l*sin(results(i,1));
    y1= -l*cos(results(i,1));
    
    plot ([x0 x1], [y0 y1],'linewidth',3);
    hold on
    p = plot( x1,y1,'o','MarkerFaceColor','red');
    hold off
    axis([ -1.2 1.2 -1.5 0.5])
    M(ct)=getframe(gcf);
    ct =ct+1;
end
 movie(M);
 videofile = VideoWriter('pendulum.avi','uncompressed avi');
 open(videofile)
 writeVideo(videofile, M)
 close(videofile)
 
 plot(t,results(:,1))
 hold on 
 plot(t, results(:,2))
 ylabel('plot')
 xlabel('time')

code part -2

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

google drive link

https://drive.google.com/file/d/10c-THyLMBjEmgB_m4eT4ToYhnxRpvsSb/view?usp=sharing

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.