Mcanique Analytique et CFAO Travaux pratiques de mcanique

  • Slides: 46
Download presentation
Mécanique Analytique et CFAO Travaux pratiques de mécanique analytique Simulation en temps réel du

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

Mise en situation. . . Mécanique Analytique et CFAO Positions: X Point A: Point

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

Mécanique Analytique et CFAO Lagrange (1) L=T-V pour toute les masses du système vitesse

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

Mécanique Analytique et CFAO Lagrange (2) V = mgh = - mgl cos -

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

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

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

Mécanique Analytique et CFAO ODE 45 Fonction différentielle ODE 45 Fonction de dérivation décrivant

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

Mécanique Analytique et CFAO ODE 45 Définition des vecteurs utilisés Fonction de dérivation décrivant

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

Mécanique Analytique et CFAO ODE 45 Définition des vecteurs utilisés Fonction de dérivation décrivant

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

Mécanique Analytique et CFAO Fonction de dérivation function [ dy ] = dp (

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

Mécanique Analytique et CFAO Variables temporaires function [ dy ] = dp ( t,

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

Mécanique Analytique et CFAO Mise en correspondance function [ dy ] = dp (

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

Mécanique Analytique et CFAO Mise en correspondance function [ dy ] = dp (

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

Mécanique Analytique et CFAO Mise en correspondance function [ dy ] = dp (

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

Search and replace Mécanique Analytique et CFAO function [ dy ] = dp (

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

Search and replace Mécanique Analytique et CFAO function [ dy ] = dp (

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

Search and replace Mécanique Analytique et CFAO function [ dy ] = dp (

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

Search and replace Mécanique Analytique et CFAO function [ dy ] = dp (

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

Search and replace Mécanique Analytique et CFAO function [ dy ] = dp (

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

Search and replace Mécanique Analytique et CFAO function [ dy ] = dp (

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

Search and replace Mécanique Analytique et CFAO function [ dy ] = dp (

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

Search and replace Mécanique Analytique et CFAO function [ dy ] = dp (

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

Search and replace Mécanique Analytique et CFAO function [ dy ] = dp (

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

Mécanique Analytique et CFAO Fonction différentielle ODE 45 function [ dy ] = dp

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

Mécanique Analytique et CFAO Résolution numérique options = odeset('Rel. Tol', 1 e-8); [t, angle]

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

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

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

Mécanique Analytique et CFAO Premier affichage %Allocation mémoire x=zeros(3, 1); y=zeros(3, 1); %Calcul de

Mécanique Analytique et CFAO 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([-30 30]) hold on; line(x, y, 'Line. Width', 2); 26

Boucle d’affichage Mécanique Analytique et CFAO %Boucle d'affichage for i=1: 1000 x(2)=10*sin(angle(i, 1)); y(2)=-10*cos(angle(i,

Boucle d’affichage Mécanique Analytique et CFAO %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, 'Line. Width', 2); end 27

Mécanique Analytique et CFAO Gestion dynamique %Boucle d'affichage for i=1: 100 x(2)=10*sin(angle(i, 1)); y(2)=-10*cos(angle(i,

Mécanique Analytique et CFAO 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([-30 30]); line(x, y, 'Line. Width', 2); drawnow; 28

Temps réel Mécanique Analytique et CFAO %Boucle d'affichage for i=1: 100 tic; x(2)=10*sin(angle(i, 1));

Temps réel Mécanique Analytique et CFAO %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([-30 30]); line(x, y, 'Line. Width', 2); drawnow; end 29

Mécanique Analytique et CFAO Gestion anciennes positions %Allocation mémoire xold=zeros(3, 1); yold=zeros(3, 1); %Boucle

Mécanique Analytique et CFAO 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)); 30 while toc<0. 1; end; plot(xold, yold, 'w', 'Line. Width' , 2); plot(x, y, 'Line. Width', 2); drawnow; end

Mécanique Analytique et CFAO Approche “orienté-objet” Objet graphique Adresse Propriété 1 Propriété 2 Propriété.

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

Mécanique Analytique et CFAO Approche “orienté-objet” Objet graphique Adresse XData YData ZData Color Style

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

Mécanique Analytique et CFAO Récupération de l’adresse graph 1=plot(x, y, 'w*', 'Erase. Mode', 'none');

Mécanique Analytique et CFAO Récupération de l’adresse graph 1=plot(x, y, 'w*', 'Erase. Mode', 'none'); Objet graphique Adresse = 1. 05684523 = graph 1 XData YData ZData Color Style Instruction 33

Données en x Mécanique Analytique et CFAO graph 1=plot(x, y, 'w*', 'Erase. Mode', 'none');

Données en x Mécanique Analytique et CFAO graph 1=plot(x, y, 'w*', 'Erase. Mode', 'none'); Objet graphique Adresse = 1. 05684523 = graph 1 XData = x YData ZData Color Style Instruction 34

Mécanique Analytique et CFAO Données en y graph 1=plot(x, y, 'w*', 'Erase. Mode', 'none');

Mécanique Analytique et CFAO Données en y graph 1=plot(x, y, 'w*', 'Erase. Mode', 'none'); Adresse = 1. 05684523 = graph 1 XData = x YData = y ZData Color Style Instruction 35

Mécanique Analytique et CFAO Pas de données en z graph 1=plot(x, y, 'w*', 'Erase.

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

Couleur Mécanique Analytique et CFAO graph 1=plot(x, y, 'w*', 'Erase. Mode', 'none'); Objet graphique

Couleur Mécanique Analytique et CFAO graph 1=plot(x, y, 'w*', 'Erase. Mode', 'none'); Objet graphique Adresse = 1. 05684523 = graph 1 XData = x YData = y ZData Color = w Style Instruction 37

Style Mécanique Analytique et CFAO graph 1=plot(x, y, 'w*', 'Erase. Mode', 'none'); Objet graphique

Style Mécanique Analytique et CFAO graph 1=plot(x, y, 'w*', 'Erase. Mode', 'none'); Objet graphique Adresse = 1. 05684523 = graph 1 XData YData ZData Color Style =x =y =w =* Instruction 38

Variable privée Mécanique Analytique et CFAO graph 1=plot(x, y, 'w*', 'Erase. Mode', 'none'); Objet

Variable privée Mécanique Analytique et CFAO graph 1=plot(x, y, 'w*', 'Erase. Mode', 'none'); Objet graphique Adresse = 1. 05684523 = graph 1 XData = x YData = y ZData Color = w Style = * Erase. Mode = none Instruction 39

Mécanique Analytique et CFAO Instruction graphique graph 1=plot(x, y, 'w*', 'Erase. Mode', 'none'); Objet

Mécanique Analytique et CFAO Instruction graphique graph 1=plot(x, y, 'w*', 'Erase. Mode', 'none'); Objet graphique Adresse = 1. 05684523 = graph 1 XData = x YData = y ZData Color = w Style = * Erase. Mode = none Instruction = plot 40

Mécanique Analytique et CFAO Accès variables membres set(graph 1, 'XData', xnew, 'YData', ynew, 'Line.

Mécanique Analytique et CFAO Accès variables membres set(graph 1, 'XData', xnew, 'YData', ynew, 'Line. Width', 2); graph 1 XData YData 41

Mécanique Analytique et CFAO Modification données en x set(graph 1, 'XData', xnew, 'YData', ynew,

Mécanique Analytique et CFAO Modification données en x set(graph 1, 'XData', xnew, 'YData', ynew, 'Line. Width', 2); graph 1 XData = xnew YData 42

Mécanique Analytique et CFAO Modification données en y set(graph 1, 'XData', xnew, 'YData', ynew,

Mécanique Analytique et CFAO Modification données en y set(graph 1, 'XData', xnew, 'YData', ynew, 'Line. Width', 2); graph 1 XData = xnew YData = ynew 43

Mécanique Analytique et CFAO Modification paramètres divers set(graph 1, 'XData', xnew, 'YData', ynew, 'Line.

Mécanique Analytique et CFAO Modification paramètres divers set(graph 1, 'XData', xnew, 'YData', ynew, 'Line. Width', 2); graph 1 XData = xnew YData = ynew Line. Width = 2 44

Mécanique Analytique et CFAO Pour notre problème %Préparation session graphique et premier affichage p=plot(x,

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

Mécanique Analytique et CFAO Approche “orienté-objet” %Préparation session graphique et premier affichage p=plot(x, y,

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