
Osciladores Forzados
(El estado transitorio y su evolución hacia el estado estacionario)
La amplitud de una oscilación amortiguada decrece con el tiempo. Al cabo de un cierto tiempo teóricamente infinito, el oscilador se detiene en el origen. Para mantener la oscilación es necesario aplicar una fuerza oscilante.
El oscilador forzado, o su equivalente el circuito LRC conectado a una fuente de corriente alterna es un ejemplo que nos permite estudiar con detalle las soluciones de una ecuación diferencial de segundo orden. Nos permite diferenciar entre estado transitorio y estacionario. Comprender el importante fenómeno de la resonancia.

Las fuerzas que actúan sobre la partícula son:
-
La fuerza que ejerce el muelle, - k · x
-
La fuerza de rozamiento proporcional a la velocidad λv y de sentido contrario a ésta
-
La fuerza oscilante F0·cos(ωf t) de frecuencia angular ωf
La ecuación del movimiento de la partícula es
m a = - k x - λ v + F 0 · cos ( ω f t )
Expresamos la ecuación del movimiento en forma de ecuación diferencial que describe las oscilaciones forzadas

-
donde ω0 es la frecuencia natural o propia del oscilador
-
ωf es la frecuencia angular de la fuerza oscilante de amplitud F
-
γ es la constante de amortiguamiento, γ<ω0
La solución general de la ecuación diferencial homogénea tiene la forma

-
Donde los coeficientes C y D se determinan a partir de las condiciones iniciales
-
Supondremos inicialmente que ω0≠ωf
-
Una solución particular de la ecuación diferencial completa tiene la forma
-
x2=Acos(ωf t)+Bsin(ωf t)
-
Obtendremos los valores de A y B haciendo que cumpla la ecuación diferencial lineal completa

La solución general de la ecuación diferencial completa es la suma de la solución general de la homogénea más la solución particular x=x1+x2.

El primer término, describe el estado transitorio. El segundo término, describe el estado estacionario.
La velocidad vale.
​

El estado transitorio desaparece al cabo de cierto tiempo (teóricamente infinito) y depende de las condiciones iniciales.
El estado estacionario, independiente de las condiciones iniciales y es el que permanece.
programación en C++

#include <iostream>
#include <math.h>
using namespace std;
int m, lan;
double frec_nat(int a), R1;
double k=0.0125e-11, f0, w, w0;
double AMORTIG(double f, int b, double c, double d, int e);
double B, C, D, R2, inicial, final, R3;
int m1, m2, c1;
double c_c(int x);
double ond(int y, int z), A, E, F, R4;
int main ()
{
int opcion;
cin>>opcion;
switch (opcion)
{
{
case 1:
cin>>m;
R1=frec_nat(m);
cout<<R1<<endl;
};break;
{
case 2:
cin>>inicial; cin>>final; cin>>m; cin>>w; cin>>w0; cin>>lan;
for (f0=inicial; f0<=final; f0=f0+1.5)
{
R2=AMORTIG(f0, m, w, w0, lan);
cout<<R2<<endl;
}
};break;
{
case 3:
cin>>m1;
R3=c_c(m1);
cout<<R3<<endl;
};break;
{
case 4:
cin>>c1; cin>>m2;
R4=ond(c1, m2);
cout<<R4<<endl;
};break;
}
cout<<"Fuera de rango";
}
//zona de funciones
double frec_nat(int a)
{
R1=sqrt(k/m);
return R1;
}
double AMORTIG(double f, int b, double c, double d, int e)
{
B=f/b;
C=pow(((c*c)-(d*d)),2);
D=4*pow(c,2)*pow(e,2);
R2=B/sqrt(C+D);
return R2;
}
double c_c(int x)
{
R3=2*m1*sqrt(k/m1);
return R3;
}
double ond(int y, int z)
{
A=-c1/(2*m2);
E=pow(c1,2)-4*m*k;
F=4*pow(m2,2);
R4=A+sqrt(E/F);
}
FIN DEL PROGRAMA