|
|
Faculté des Sciences Appliquées |
|
|
Mécanique Rationnelle 2ème bachelier 2010-2011 |
Complément Séminaire
29-10-2010 |
|
|
1. |
Soit
un pendule simple constitué d’une barre rigide de longueur L sans masse et
une masse pesante ponctuelle m attachée à son extrémité. Le
pendule soumis à une friction proportionnelle à sa vitesse de rotation :
dq/dt.
Exemple d’un pendule qui répond à cette équation :
Equation du movement:
global c w k c=1.65; k=0.5; w=2/3; figure('NumberTitle','on','Name','SCI','Renderer','OpenGL','Color','w','Position',[100 100 600 600]) box on; hold on options = odeset('RelTol',1e-4); [t1,teta1] = ode45('duffing_eq',[0:0.25:150],[0 0],options); [t2,teta2] = ode45('duffing_eq',[0:0.25:150],[0.01 0],options); for i=2:max(size(t1)) tic subplot(2,1,1,'replace') box on; title(['Pendule
Duffing - k=',num2str(k),' Terme forcé c
=',num2str(c)]); xlabel('X [unités de longueur arbitraire]'); ylabel('Y [unités de longueur arbitraire]'); axis([-60 60 -20 20]) line([0
9.81*sin(teta1(i,1))],[0 -9.81*cos(teta1(i,1))],'LineWidth',2); line([0
9.81*sin(teta2(i,1))],[0 -9.81*cos(teta2(i,1))],'LineWidth',2,'Color','r'); line([
9.81*sin(teta1(i,1))],[ -9.81*cos(teta1(i,1))],'Marker','.','Markersize',40); line([
9.81*sin(teta2(i,1))],[ -9.81*cos(teta2(i,1))],'Marker','.','Markersize',40,'Color','r'); subplot(2,1,2) box on; xlabel('t [s]'); ylabel('\theta [degrés]'); line([t1(i-1)
t1(i)],[teta1(i-1)*180/pi teta1(i)*180/pi],'LineWidth',2); line([t2(i-1)
t2(i)],[teta2(i-1)*180/pi teta2(i)*180/pi],'LineWidth',2,'Color','r'); line([t1(i-1)
t1(i)],[30*c*cos(w*t1(i-1))
30*c*cos(w*t1(i))],'LineWidth',2,'Color','k'); while toc<0.025;end drawnow; end; function dy = duffing_eq(t,y) global c w k dy = zeros(2,1); dy(1) = y(2); dy(2) = -k*y(2)-sin(y(1))+c*cos(w*t); code pour la section de poincaré global c w
k c=1.2;k=0.5;w=2/3; figure('NumberTitle','on','Name','SCI','Renderer','OpenGL','Color','w','Position',[100 100 600 600]) box on; hold on options = odeset('RelTol',1e-4); [t1,teta1] = ode45('duffing_eq',[0:2*pi/w:100000],[0 0],options); [t2,teta2] = ode45('duffing_eq',[0:2*pi/w:100000],[0.01 0],options); plot(mod(teta1(1000:10:end,1),2*pi),teta1(1000:10:end,2),'.','Markersize',1) plot(mod(teta2(1000:10:end,1),2*pi),teta2(1000:10:end,2),'.','Color','red','Markersize',1) title('Section de Poincare
stroboscopique - echantillonnage:
2.\pi/\omega') xlabel('\theta') ylabel('d\theta/dt') |
|
La position initiale entre le pendule rouge et bleu diffère de 1/100
radians. Après un temps fini, les deux mouvements divergent et il est clair que
les deux mouvements sont chaotiques. CHAOS |
Evolution temporelle et
plan des phases



|
La position initiale entre le pendule rouge et bleu diffère de 1/100
radians. Les mouvements restent confondus et le mouvement n’est clairement pas chaotique.
La période du mouvement est identique à celle de l’excitation. MOUVEMENT PERIODIQUE |
Evolution temporelle et
plan des phases



|
Le mouvement reste périodique mais la période n’est plus la même que
l’excitation (visualisé par la courbe noire). C’est un signe de transition vers le chaos. TRANSITION VERS LE CHAOS |
Evolution Temporelle et
Plan des Phases


Noter le n-umplement de la période de la réponse
par rapport à la période excitatrice (courbe noire magnifiée quelques dizaines
de fois). C’est un indice de transition vers le chaos.

|
fig1=figure('Name','Diagrammes de
bifurcations - Pendule forcé'); fig2=figure('Name','Diagrammes de
bifurcations - Pendule forcé - CI: (0,0)'); fig3=figure('Name','Diagrammes de
bifurcations - Pendule forcé - CI: (0,1)'); fig4=figure('Name','Diagrammes de
bifurcations - Pendule forcé - CI: (0,2)'); global c w
k k=0.5; w=2/3; for
c=0.9:0.01:2 c for i=0:2 i clear y options
= odeset('RelTol',1e-4); [t,y] = ode45('bifurcation_diagramme_eq',[0:1*2*pi/w:1*2*pi/w*50],[0 i],options); if i==0
figure(fig1) plot(c,y(30:50,2),'rs','Markersize',2); hold on
figure(fig2) plot(c,y(30:50,2),'rs','Markersize',2) hold on end if i==1
figure(fig1) plot(c,y(30:50,2),'bs','Markersize',2); hold on
figure(fig3) plot(c,y(30:50,2),'bs','Markersize',2) hold on end if i==2
figure(fig1) plot(c,y(30:50,2),'gs','Markersize',2); hold on
figure(fig4) plot(c,y(30:50,2),'gs','Markersize',2) hold on end end end figure(fig1); axis([0.9 2 -1 3]) title('Diagramme de bifurcation du pendule forcé -
paramètre: amplitude du terme forcé'); xlabel('c'); ylabel('d\theta/dt'); figure(fig2); axis([0.9 2 -1 3]) title('Diagramme de bifurcation du pendule forcé -
paramètre: amplitude du terme forcé'); xlabel('c'); ylabel('d\theta/dt'); figure(fig3); axis([0.9 2 -1 3]) title('Diagramme de bifurcation du pendule forcé -
paramètre: amplitude du terme forcé'); xlabel('c'); ylabel('d\theta/dt'); figure(fig4); axis([0.9 2 -1 3]) title('Diagramme de bifurcation du pendule forcé -
paramètre: amplitude du terme forcé'); xlabel('c'); ylabel('d\theta/dt'); function dy = bifurcation_diagramme_eq(t,y) global c w
k dy = zeros(2,1); dy(1) = y(2); dy(2) = -k*y(2)-sin(y(1))+c*cos(w*t); |




Depuis le 18.10.2010, vous êtes le visiteur n° :