Matlab - SIMULACIÓN PÉNDULO FOUCAULT

   
Vista:

SIMULACIÓN PÉNDULO FOUCAULT

Publicado por Irene Pérez ireneperez95@hotmail.com (2 intervenciones) el 23/03/2016 18:22:30
Buenas! Necesito hacer una simulación del péndulo de Foucault, al ser posible similar a esta:

https://es.wikipedia.org/wiki/P%C3%A9ndulo_de_Foucault#/media/File:Foucault-rotz.gif

y sin usar simulink. Encontré esta página pero no entiendo la corrección y no me sale de ninguna de las maneras...

http://es.mathworks.com/matlabcentral/answers/66491-simulation-of-a-foucault-pendulum

Alguien me ayuda? Gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO

SIMULACIÓN PÉNDULO FOUCAULT

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3440 intervenciones) el 23/03/2016 18:58:57
Ejecutar el programa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

SIMULACIÓN PÉNDULO FOUCAULT

Publicado por Irene (2 intervenciones) el 23/03/2016 19:08:14
Y con esto qué se supone que hago?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Dave

SIMULACIÓN PÉNDULO FOUCAULT

Publicado por Dave correa.dave30@gmail.com (934 intervenciones) el 24/03/2016 15:24:25
Hola Irene;

En primer lugar debes generar un archivo *.m, con el nombre "focaultPendulum.m", en este archivo debes colocar lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
function dx = focaultPendulum(t,x)
%define your constants
lat = 0*pi/180;
g = 9.81;
L = 5;
Omega = 7.27*10^-5;
dx = zeros(4,1);
dx(1) = x(3);
dx(2) = x(4);
dx(3) = 2*(Omega)*x(4)*sin(lat) - (g/L)*x(1);
dx(4) = -2*(Omega)*x(3)*sin(lat) - (g/L)*x(2);
end

Luego desde la ventana de comando, ejecuta lo siguiente

1
[T,Y] = ode45(@focaultPendulum,[0 20],[0.7 0.5 0.6 0.3]);

y finalmente graficas los resultados:
1
2
3
4
5
plot(T,Y(:,1));
hold all
plot(T, Y(:,2))
plot(T, Y(:,3))
plot(T, Y(:,4))

​Espero que sea de alguna ayuda.

Saludos
Dave Correa
correa.dave30@gmail.com
dcorrea@fismatlab.org
Servicios de Programación Matlab
http://fismatlab.org​​
http://fismatlab.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar