Borrar filtros
Borrar filtros

solving the pendulum differential equation with a for loop

3 visualizaciones (últimos 30 días)
Hi I'm trying to write down a code that solves the equation of the pendulum in the hyp of little swings.
The task is to write it with a for loop without using the ODEs functions.
the code i wrote obviusly doesn't work.
Does someone could help me?
equation of pendulum:
l*diff(c,t,2)+g*c==0
code I wrote:
l=50; %rope length
g=9.81; %g constant
t=0; %time
syms c;
Dc= diff(c,t);
cond= [c(0)==0, Dc(0)==0.1]; %initial conditions
T=7.5*pi*sqrt(l/g);
n=linspace(0, T, 1000);
for i=1:n %I need the c value at every 't' from 0 to T with 1000 points
t= i;
ode = l*diff(c,t,2)+g*c==0;
sol=dsolve(ode,cond);
%sol=dsolve(ode);
end

Respuesta aceptada

BOB MATHEW SYJI
BOB MATHEW SYJI el 13 de Sept. de 2020
Hope this helps. The solution for the differential equation is obtained as cSol(t). The required solution is obtained as a row vector 'sol'
l=50; %rope length
g=9.81; %g constant
syms c(t);
Dc= diff(c,t);
ode = l*diff(Dc)+g*c==0;
cond=c(0)==0;
cond1=Dc(0)==0.1;
cSol(t)=dsolve(ode,[cond cond1]);
T=7.5*pi*sqrt(l/g);
n=linspace(0, T, 1000);
for i=1:length(n)
sol(i)=double(cSol(n(i)));
end

Más respuestas (0)

Categorías

Más información sobre Programming en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by