Project

undamped simple pendulum

ode penhttps://youtu.be/RKOkrMUwcWU

clear all 
close all
clc
 %input 
 g=9.81;
 l=1;
 m=0.6;
 
 theta_0=[0;20];
 t_span=linspace(0,10,500);
 
 [t,result]=ode45(@(t,theta) func_theta(t,theta,g,l,m),t_span,theta_0);
 figure(1)
 hold on
 plot(t,result(:,1),'linewidth',1.5')

 plot(t,result(:,2),'linewidth',1.5')

 figure (2)

alpha = result(:,1);

Xa1=2;
Ya1=2;

Xa2=-2;
Ya2=2;

%Creating loop

ct=1;

for i=1:length(t)

x0 = 0;
y0 = 2;

x1 = l*sin(alpha(i));
y1= -l*cos(alpha(i));

r = 0.2;
xm = x1;
ym = y1;

theta_m = linspace(0,2*pi);
x_m = r*cos(theta_m) + xm;
y_m = r*sin(theta_m) + ym;

plot([x0 x1],[y0 y1],[Xa1 Xa2],[Ya1 Ya2],x_m,y_m,'linewidth',3)



% plot([Xa1 Xa2],[Ya1 Ya2])

axis([-3 3 -3 3])
pause(0.03)
grid on

M(ct)= getframe(gcf);

ct=ct+1;

end
movie(M)
videofile = VideoWriter('ode_pen.avi','Uncompressed AVI');
open(videofile)
writeVideo(videofile,M)
close(videofile)


%function
function [dtheta_dt] = func_theta(t,theta,g,l,m)

theta1 = theta(1);
theta2 = theta(2);

dtheta1_dt=theta2;
dtheta2_dt=-((g^2)/(l^2*m^2))*sin(theta1);
dtheta_dt=[dtheta1_dt ; dtheta2_dt];
end
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.