Challenge

Week 3 - Solving second order ODEs

%ODE main program
clear all
close all
clc
%inputs
b=0.05;
g=9.81;
l=1;
m=1;
%initial condition
theta_0=[0;3];
%Time points
t_span=linspace(0,20,700);
%solve ODE
[t,results]=ode45(@(t,theta)ode_func(t, theta, b,g,l,m),t_span, theta_0);
subplot(5,4[13,14,17,18]);
plot(t,results(:,1));
hold on;
plot(t,results(:,2));
hold on;
ylabel('plot')
xlabel('time')
subplot(5,4[15,16,19,20]);
plot(results(:,1),results(:,2));
hold on
xlable('position-radians');
ylable('Angular velocity');
ct=1;
for i=1:lenth(results(:,1))% for loop implementation
x0=0;
y0=0;
x1=1*sin(results(i,1));
y1=1*cos(results(i,1));
subplot(5,4[1,2,3,4,5,6,7,8,9,10,11,12]);
plot([-1 1],[0 0],'linewidth',4,'colour','b');
hold on
line([x0 x1],[y0 y1],'linewidth',2,'colour','y');
hold on
%ploting circle and then mapping the centre to the string
r=0.075;
cir_deg=linspace(0,2*pi,1000);
xc=r*cos(cir_deg);
yc=r*sin(cir_deg);
plot(x1+xc,y1+yc,'linwidth',2)
hold on
plot(x1,y1,'markers',20,'markerfacecolor','r');
%plot a curved rectangle and color its inner
rectangle('position',[(x1-(r/2)),(y1-r/2),r,r],'curvature',[1 1],'facecolor','y','linewidth',3)
hold on
axis equal
grid on;
axis([-1.5 1.5 -1.5 0.5])
pause(0.0002);
hold off
q(ct)=getframe(gcf);
ct=ct+1;
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.