Código para Resolver El Péndulo Simple Forzado y Con Disipación Con Runge PDF
Código para Resolver El Péndulo Simple Forzado y Con Disipación Con Runge PDF
a=0;
m=2; %%número de ecuaciones
w(1,1)= input('Posición inicial:') ; %% condición inicial Xo
w(2,1)= input('Velocidad inicial: '); %%condición inicial
Vob=10;
wo= input('Frecuencia w: '); %%frecuencia que introduce el
usuario y no unitaria.
b= input('Tiempo al cual sea integrada la aproximación (tf): ')
; %tiempo final
n= input('Paso de tiempo que se usara para la integración: ');
%Delta t de error 1*10-4 con 600
%tic%%%%%%%%%%% %Temporizador inicial para saber cuanto tarda en
hacer el calculo
N=1/n;
h=(b-a)/N; %% Partición
Q= input('Factor de calidad Q: ');% Factor de calidad
Eo=(.5*((w(2,1))^2))+(1-cos(w(1,1))); %Energia inicial Eo
A= input('Amplitud de la fuerza externa: '); %Amplitud de la
fuente que aporta energِía al resorte.
for j=1:N
t(j)=a+j*h;
for i=1:m
K(1,i)=h*FUNS(i,t(j),A,w(1,j),w(2,j),Q,wo); %%genero los
coeficientes K1,1 K1,2
end
for i=1:m
K(2,i)=h*FUNS(i,t(j)+
h/2,A,w(1,j)+K(1,1)*1/2,w(2,j)+K(1,2)*1/2,Q,wo); %%genero los
coeficientes K2,1 K2,2
end
for i=1:m
K(3,i)=h*FUNS(i,t(j)+
h/2,A,w(1,j)+(K(2,1)/2),w(2,j)+(K(2,2)/2),Q,wo);%%genero los
coeficientes K3,1 K,2
end
for i=1:m
K(4,i)=h*FUNS(i,t(j)+h,A,w(1,j)+(K(3,1)),w(2,j)+(K(3,2)),Q,wo);%
%genero los coeficientes K4,1 K4,2
end
for i=1:m
w(i,j+1)=w(i,j)+1/6*(K(1,i)+2*K(2,i)+2*K(3,i)+K(4,i)); %%genero
las aproximaciones W
figure
%subplot(1,1,1)
%plot(t,Et) %Energi total
%hold on
plot(t,EF,'b') %Energía fraccional error
xlabel 'Tiempo (u.a.)'
ylabel 'Valor absoluto del error fraccional de energía'
%axis([0 40 3e-6 3.9e-4])
function [y]=FUNS(i,t,A,w1,w2,Q,wo)
if (i==1)
y=w2;
else
y=-(w2/Q)-(sin(w1))+ A*sin(wo*t);
end