La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Mécanique Analytique et CFAO 1 Travaux pratiques de mécanique analytique Simulation en temps réel du mouvement dun pendule double.

Présentations similaires


Présentation au sujet: "Mécanique Analytique et CFAO 1 Travaux pratiques de mécanique analytique Simulation en temps réel du mouvement dun pendule double."— Transcription de la présentation:

1 Mécanique Analytique et CFAO 1 Travaux pratiques de mécanique analytique Simulation en temps réel du mouvement dun pendule double

2 Mécanique Analytique et CFAO 2 Mise en situation... X Y Positions: Vitesses: Point A: (l sin, -l cos ) Point A: (l d /dt cos, l d /dt sin ) Point B: (l.(sin + sin ), -l.(cos + cos )) Point B: (l.(d /dt cos + d /dt cos ), l.( d /dt sin + d /dt sin )) m g l = 1m l 2 = 1

3 Mécanique Analytique et CFAO 3 Lagrange (1) L = T - V pour toute les masses du système vitesse scalaire de la masse condidérée

4 Mécanique Analytique et CFAO 4 Lagrange (2) V = mgh = - mgl cos - m g l (cos + cos ) L = T - V = + mgl cos + m g l (cos + cos )

5 Mécanique Analytique et CFAO 5 Système différentiel

6 Mécanique Analytique et CFAO 6 Fonction différentielle ODE45 ODE45 Fonction de dérivation décrivant le système différentiel Ordre des équations du système 2 (, ) AvantAprès

7 Mécanique Analytique et CFAO 7 Définition des vecteurs utilisés ODE45 Fonction de dérivation décrivant le système différentiel Ordre des équations du système 2 (, ) AvantAprès

8 Mécanique Analytique et CFAO 8 Définition des vecteurs utilisés ODE45 Fonction de dérivation décrivant le système différentiel Ordre des équations du système 2 (, ) AvantAprès

9 Mécanique Analytique et CFAO 9 Fonction de dérivation function [ dy ] = dp ( t, y )

10 Mécanique Analytique et CFAO 10 Variables temporaires function [ dy ] = dp ( t, y ) s = sin( - ) c = cos( - )

11 Mécanique Analytique et CFAO 11 Mise en correspondance function [ dy ] = dp ( t, y ) s = sin( - ) c = cos( - ) dy(1) = y(2)

12 Mécanique Analytique et CFAO 12 Mise en correspondance function [ dy ] = dp ( t, y ) s = sin( - ) c = cos( - ) dy(1) = y(2) dy(3) = y(4)

13 Mécanique Analytique et CFAO 13 Mise en correspondance function [ dy ] = dp ( t, y ) s = sin( - ) c = cos( - ) dy(1) = y(2) dy(3) = y(4) dy(2) =

14 Mécanique Analytique et CFAO 14 Search and replace function [ dy ] = dp ( t, y ) s = sin( - ) c = cos( - ) dy(1) = y(2) dy(3) = y(4) dy(2) =

15 Mécanique Analytique et CFAO 15 Search and replace function [ dy ] = dp ( t, y ) s = sin( - ) c = cos( - ) dy(1) = y(2) dy(3) = y(4) dy(2) =

16 Mécanique Analytique et CFAO 16 Search and replace function [ dy ] = dp ( t, y ) s = sin( - ) c = cos( - ) dy(1) = y(2) dy(3) = y(4) dy(2) =

17 Mécanique Analytique et CFAO 17 s = sin( y(1) - ) c = cos(y(1) - ) Search and replace function [ dy ] = dp ( t, y ) dy(1) = y(2) dy(3) = y(4) dy(2) =

18 Mécanique Analytique et CFAO 18 s = sin( y(1) - y(3) ) c = cos(y(1) - y(3) ) Search and replace function [ dy ] = dp ( t, y ) dy(1) = y(2) dy(3) = y(4) dy(2) =

19 Mécanique Analytique et CFAO 19 s = sin( y(1) - y(3) ) c = cos(y(1) - y(3) ) Search and replace function [ dy ] = dp ( t, y ) dy(1) = y(2) dy(3) = y(4) dy(2) =

20 Mécanique Analytique et CFAO 20 s = sin( y(1) - y(3) ) c = cos(y(1) - y(3) ) Search and replace function [ dy ] = dp ( t, y ) dy(1) = y(2) dy(3) = y(4) dy(2) =

21 Mécanique Analytique et CFAO 21 s = sin( y(1) - y(3) ) c = cos(y(1) - y(3) ) Search and replace function [ dy ] = dp ( t, y ) dy(1) = y(2) dy(3) = y(4) dy(2) =

22 Mécanique Analytique et CFAO 22 s = sin( y(1) - y(3) ) c = cos(y(1) - y(3) ) Search and replace function [ dy ] = dp ( t, y ) dy(1) = y(2) dy(3) = y(4) dy(2) = dy(4) =

23 Mécanique Analytique et CFAO 23 s = sin( y(1) - y(3) ) c = cos(y(1) - y(3) ) Fonction différentielle ODE45 function [ dy ] = dp ( t, y ) dy(1) = y(2) dy(3) = y(4) dy(2) = dy(4) =

24 Mécanique Analytique et CFAO 24 Résolution numérique options = odeset('RelTol',1e-8); [t,angle] = ode45('dp',[0:0.1:100],[ ],options); Conditions initiales: Système à résoudre Temps: de 0 à 100 secondes par pas de 0,1 sec

25 Mécanique Analytique et CFAO 25 Variables utilisées plot ( x, y ) ( 0, 0 ) ( Ax, Ay ) ( Bx, By )

26 Mécanique Analytique et CFAO 26 Premier affichage %Allocation mémoire x=zeros(3,1); y=zeros(3,1); %Calcul de coordonnées x(2)=10*sin(angle(1,1)); y(2)=-10*cos(angle(1,1)); x(3)=x(2)+10*sin(angle(1,3)); y(3)=y(2)-10*cos(angle(1,3)); %Préparation session graphique et premier affichage figure; axis([ ]) hold on; line(x,y,'LineWidth',2);

27 Mécanique Analytique et CFAO 27 Boucle daffichage %Boucle d'affichage for i=1:1000 x(2)=10*sin(angle(i,1)); y(2)=-10*cos(angle(i,1)); x(3)=x(2)+10*sin(angle(i,3)); y(3)=y(2)-10*cos(angle(i,3)); line(x,y,'LineWidth',2); end

28 Mécanique Analytique et CFAO 28 Gestion dynamique %Boucle d'affichage for i=1:100 x(2)=10*sin(angle(i,1)); y(2)=-10*cos(angle(i,1)); x(3)=x(2)+10*sin(angle(i,3)); y(3)=y(2)-10*cos(angle(i,3)); clf; axis([ ]); line(x,y,'LineWidth',2); drawnow;

29 Mécanique Analytique et CFAO 29 Temps réel %Boucle d'affichage for i=1:100 tic; x(2)=10*sin(angle(i,1)); y(2)=-10*cos(angle(i,1)); x(3)=x(2)+10*sin(angle(i,3)); y(3)=y(2)-10*cos(angle(i,3)); while toc<0.1; end; clf; axis([ ]); line(x,y,'LineWidth',2); drawnow; end

30 Mécanique Analytique et CFAO 30 Gestion anciennes positions %Allocation mémoire xold=zeros(3,1); yold=zeros(3,1); %Boucle d'affichage for i=1:100 tic; xold(2)=x(2); yold(2)=y(2); xold(3)=x(3); yold(3)=y(3); x(2)=10*sin(angle(i,1)); y(2)=-10*cos(angle(i,1)); x(3)=x(2)+10*sin(angle(i,3)); y(3)=y(2)-10*cos(angle(i,3)); while toc<0.1; end; plot(xold,yold,'w','LineWidth',2); plot(x,y,'LineWidth',2); drawnow; end

31 Mécanique Analytique et CFAO 31 Approche orienté-objet Objet graphique Adresse Propriété 2 Propriété n Propriété... Propriété 1 Instruction 1 Instruction 2 Instruction... Instruction n

32 Mécanique Analytique et CFAO 32 Approche orienté-objet Objet graphique Adresse YData Color ZData XData plot axis Style

33 Mécanique Analytique et CFAO 33 Récupération de ladresse Objet graphique Adresse YData Color ZData XData Instruction Style graph1=plot(x,y,'w*','EraseMode','none'); = = graph1

34 Mécanique Analytique et CFAO 34 Données en x Objet graphique Adresse YData Color ZData XData Instruction Style graph1=plot(x,y,'w*','EraseMode','none'); = = graph1 = x

35 Mécanique Analytique et CFAO 35 Données en y Adresse YData Color ZData XData Instruction Style graph1=plot(x,y,'w*','EraseMode','none'); = = graph1 = x = y

36 Mécanique Analytique et CFAO 36 Pas de données en z Objet graphique Adresse YData Color ZData XData Instruction Style graph1=plot(x,y,'w*','EraseMode','none'); = = graph1 = x = y

37 Mécanique Analytique et CFAO 37Couleur Objet graphique Adresse YData Color ZData XData Instruction Style graph1=plot(x,y,'w*','EraseMode','none'); = = graph1 = x = y = w

38 Mécanique Analytique et CFAO 38Style Objet graphique Adresse YData Color ZData XData Instruction Style graph1=plot(x,y,'w*','EraseMode','none'); = = graph1 = x = y = w = *

39 Mécanique Analytique et CFAO 39 Variable privée Objet graphique Adresse YData Color ZData XData Instruction Style graph1=plot(x,y,'w*','EraseMode','none'); = = graph1 = x = y = w = * EraseMode = none

40 Mécanique Analytique et CFAO 40 Instruction graphique Objet graphique Adresse YData Color ZData XData Instruction Style graph1=plot(x,y,'w*','EraseMode','none'); = = graph1 = x = y = w = * EraseMode = none = plot

41 Mécanique Analytique et CFAO 41 Accès variables membres set(graph1,'XData',xnew,'YData',ynew,'LineWidth',2); graph1 YData XData

42 Mécanique Analytique et CFAO 42 Modification données en x set(graph1,'XData',xnew,'YData',ynew,'LineWidth',2); graph1 YData XData = xnew

43 Mécanique Analytique et CFAO 43 Modification données en y set(graph1,'XData',xnew,'YData',ynew,'LineWidth',2); graph1 YData XData = xnew = ynew

44 Mécanique Analytique et CFAO 44 Modification paramètres divers set(graph1,'XData',xnew,'YData',ynew,'LineWidth',2); graph1 YData XData = xnew = ynew LineWidth = 2

45 Mécanique Analytique et CFAO 45 Pour notre problème %Préparation session graphique et premier affichage p=plot(x,y,'EraseMode','none'); q=plot(xold,yold,'w','EraseMode','none'); %Boucle d'affichage set(q,'XData',xold,'YData',yold,'LineWidth',2); set(p,'XData',x,'YData',y,'LineWidth',2);

46 Mécanique Analytique et CFAO 46 Approche orienté-objet %Préparation session graphique et premier affichage p=plot(x,y,'EraseMode','none'); q=plot(xold,yold,'w','EraseMode','none'); %Boucle d'affichage set(q,'XData',xold,'YData',yold,'LineWidth',2); set(p,'XData',x,'YData',y,'LineWidth',2);


Télécharger ppt "Mécanique Analytique et CFAO 1 Travaux pratiques de mécanique analytique Simulation en temps réel du mouvement dun pendule double."

Présentations similaires


Annonces Google