25
MATLAB TP n˚4 Djelouah Position du problème Saisie des données Calcul des éléments matriciels Solution finale TP n˚4 Programme MATLAB pour l’étude des oscillations libres des systèmes à deux degrés de liberté H. Djelouah Faculté de Physique Université des Sciences et de la Technologie Houari Boumediene Algérie 28 décembre 2009

TP n°4 Programme MATLAB pour l'étude des …maurise-software.e-monsite.com/medias/files/matlab-tp4.pdf · Système d’équations différentielles m 11 ¨q 1 +m 12q ... Cas particulier

Embed Size (px)

Citation preview

MATLAB TP n˚4

Djelouah

Position duproblème

Saisie desdonnées

Calcul desélémentsmatriciels

Solution finale

TP n˚4Programme MATLAB pour l’étude desoscillations libres des systèmes à deux

degrés de liberté

H. Djelouah

Faculté de PhysiqueUniversité des Sciences et de la Technologie Houari Boumediene

Algérie

28 décembre 2009

MATLAB TP n˚4

Djelouah

Position duproblème

Saisie desdonnées

Calcul desélémentsmatriciels

Solution finale

1 Position du problèmeFormulation matricielleExemple d’étude

2 Saisie des données

3 Calcul des éléments matricielsMatrice dynamiqueMatrice modaleConditions initialesCalcul des différentes constantes

4 Solution finaleCalcul de la solution finaleReprésentation graphique

MATLAB TP n˚4

Djelouah

Position duproblèmeFormulationmatricielle

Exemple d’étude

Saisie desdonnées

Calcul desélémentsmatriciels

Solution finale

Formulation matricielle

Système d’équations différentielles

m11q1 + m12q2 + k11q1 + k12q2 = 0m12q1 + m22q2 + k12q1 + k22q2 = 0

Ces deux équations peuvent s’écrire sous la forme matriciellesuivante :[

m11 m12m12 m22

] [q1q2

]+

[k11 k12k12 k22

] [q1q2

]=

[00

]Ce qui nous permet d’écrire le système d’équations différentiellessous une forme matricielle condensée :

[T ]{q}+ [U]{q} = {0}

Les matrices [T ] et [U] sont les matrices carrées symétriquesdéfinies respectivement par :

[T ] =

[m11 m12m12 m22

]et [U] =

[k11 k12k12 k22

]

MATLAB TP n˚4

Djelouah

Position duproblèmeFormulationmatricielle

Exemple d’étude

Saisie desdonnées

Calcul desélémentsmatriciels

Solution finale

Formulation matricielle

Système d’équations différentielles

m11q1 + m12q2 + k11q1 + k12q2 = 0m12q1 + m22q2 + k12q1 + k22q2 = 0

Ces deux équations peuvent s’écrire sous la forme matriciellesuivante :[

m11 m12m12 m22

] [q1q2

]+

[k11 k12k12 k22

] [q1q2

]=

[00

]

Ce qui nous permet d’écrire le système d’équations différentiellessous une forme matricielle condensée :

[T ]{q}+ [U]{q} = {0}

Les matrices [T ] et [U] sont les matrices carrées symétriquesdéfinies respectivement par :

[T ] =

[m11 m12m12 m22

]et [U] =

[k11 k12k12 k22

]

MATLAB TP n˚4

Djelouah

Position duproblèmeFormulationmatricielle

Exemple d’étude

Saisie desdonnées

Calcul desélémentsmatriciels

Solution finale

Formulation matricielle

Système d’équations différentielles

m11q1 + m12q2 + k11q1 + k12q2 = 0m12q1 + m22q2 + k12q1 + k22q2 = 0

Ces deux équations peuvent s’écrire sous la forme matriciellesuivante :[

m11 m12m12 m22

] [q1q2

]+

[k11 k12k12 k22

] [q1q2

]=

[00

]Ce qui nous permet d’écrire le système d’équations différentiellessous une forme matricielle condensée :

[T ]{q}+ [U]{q} = {0}

Les matrices [T ] et [U] sont les matrices carrées symétriquesdéfinies respectivement par :

[T ] =

[m11 m12m12 m22

]et [U] =

[k11 k12k12 k22

]

MATLAB TP n˚4

Djelouah

Position duproblèmeFormulationmatricielle

Exemple d’étude

Saisie desdonnées

Calcul desélémentsmatriciels

Solution finale

Formulation matricielle

Système d’équations différentielles

m11q1 + m12q2 + k11q1 + k12q2 = 0m12q1 + m22q2 + k12q1 + k22q2 = 0

Ces deux équations peuvent s’écrire sous la forme matriciellesuivante :[

m11 m12m12 m22

] [q1q2

]+

[k11 k12k12 k22

] [q1q2

]=

[00

]Ce qui nous permet d’écrire le système d’équations différentiellessous une forme matricielle condensée :

[T ]{q}+ [U]{q} = {0}

Les matrices [T ] et [U] sont les matrices carrées symétriquesdéfinies respectivement par :

[T ] =

[m11 m12m12 m22

]et [U] =

[k11 k12k12 k22

]

MATLAB TP n˚4

Djelouah

Position duproblèmeFormulationmatricielle

Exemple d’étude

Saisie desdonnées

Calcul desélémentsmatriciels

Solution finale

Exemple : système masses-ressorts

Tester le programme sur cet exemple avec les valeurs suivantes :m1 = m2 = 1kg, k1 = k2 = 1N.m−1, K = 0.1N.m−1

Conditions initiales : x10 = 1, x20 = 0, x10 = 0, x20 = 0.

Les matrices [T ] et [U] s’écrivent :

[T ] =

[m 00 m

]=

[1 00 1

]

[U] =

[k + K −K−K k + K

]=

[1.1 −0.1−0.1 1.1

]

MATLAB TP n˚4

Djelouah

Position duproblèmeFormulationmatricielle

Exemple d’étude

Saisie desdonnées

Calcul desélémentsmatriciels

Solution finale

Exemple : système masses-ressorts

Tester le programme sur cet exemple avec les valeurs suivantes :m1 = m2 = 1kg, k1 = k2 = 1N.m−1, K = 0.1N.m−1

Conditions initiales : x10 = 1, x20 = 0, x10 = 0, x20 = 0.

Les matrices [T ] et [U] s’écrivent :

[T ] =

[m 00 m

]=

[1 00 1

]

[U] =

[k + K −K−K k + K

]=

[1.1 −0.1−0.1 1.1

]

MATLAB TP n˚4

Djelouah

Position duproblèmeFormulationmatricielle

Exemple d’étude

Saisie desdonnées

Calcul desélémentsmatriciels

Solution finale

Exemple : système masses-ressorts

Tester le programme sur cet exemple avec les valeurs suivantes :m1 = m2 = 1kg, k1 = k2 = 1N.m−1, K = 0.1N.m−1

Conditions initiales : x10 = 1, x20 = 0, x10 = 0, x20 = 0.

Les matrices [T ] et [U] s’écrivent :

[T ] =

[m 00 m

]=

[1 00 1

]

[U] =

[k + K −K−K k + K

]=

[1.1 −0.1−0.1 1.1

]

MATLAB TP n˚4

Djelouah

Position duproblème

Saisie desdonnées

Calcul desélémentsmatriciels

Solution finale

Saisie des données

Commandes MATLABCommandes préliminairesclcclearclose

Saisie du nombre de degrés de liberté et de l’intervalle de temps

%————–Nombre de degrés de liberté————–n=2 ;%——————Durée de l’étude———————np=10000 ;duree=200 ;t=0 :duree/np :duree ;

MATLAB TP n˚4

Djelouah

Position duproblème

Saisie desdonnées

Calcul desélémentsmatriciels

Solution finale

Saisie des données

Commandes MATLABcommandesinputfor...endnum2str

Saisie des éléments de la matrice [M]

for i=1 :nfor j=1 :n

m(i,j)=input([’m(’ num2str(i) ’,’ num2str(j) ’) = ’]) ;end

end

MATLAB TP n˚4

Djelouah

Position duproblème

Saisie desdonnées

Calcul desélémentsmatriciels

Solution finale

Saisie des données

Commandes MATLABcommandesinputfor...endnum2str

Saisie des éléments de la matrice [M]

for i=1 :nfor j=1 :n

m(i,j)=input([’m(’ num2str(i) ’,’ num2str(j) ’) = ’]) ;end

end

MATLAB TP n˚4

Djelouah

Position duproblème

Saisie desdonnées

Calcul desélémentsmatriciels

Solution finale

Saisie des données

Commandes MATLABcommandesinputfor...endnum2str

Saisie des éléments de la matrice [U]

Écrire les lignes de programme pour la saisie des éléments de lamatrice [U]

MATLAB TP n˚4

Djelouah

Position duproblème

Saisie desdonnées

Calcul desélémentsmatriciels

Solution finale

Saisie des données

Commandes MATLABcommandesinputfor...endnum2str

Saisie des éléments de la matrice [U]

for i=1 :nfor j=1 :n

k(i,j)=input([’k(’ num2str(i) ’,’ num2str(j) ’) = ’]) ;end

end

MATLAB TP n˚4

Djelouah

Position duproblème

Saisie desdonnées

Calcul desélémentsmatriciels

Solution finale

Saisie des données

Commandes MATLABcommandesinputfor...endnum2str

Saisie des conditions initiales x0

for i=1 :nx0(i)=input([’x0(’ num2str(i) ’) = ’])

end

MATLAB TP n˚4

Djelouah

Position duproblème

Saisie desdonnées

Calcul desélémentsmatriciels

Solution finale

Saisie des données

Commandes MATLABcommandesinputfor...endnum2str

Saisie des conditions initiales xpoint0

Écrire les lignes de programme pour la saisie de x0

MATLAB TP n˚4

Djelouah

Position duproblème

Saisie desdonnées

Calcul desélémentsmatriciels

Solution finale

Saisie des données

Commandes MATLABcommandesinputfor...endnum2str

Saisie des conditions initiales xpoint0

for i=1 :nxpoint0(i)=input([’xpoint0(’ num2str(i) ’) = ’]) ;

end

MATLAB TP n˚4

Djelouah

Position duproblème

Saisie desdonnées

Calcul desélémentsmatricielsMatrice dynamique

Matrice modale

Conditions initiales

Calcul desdifférentesconstantes

Solution finale

Matrice dynamique

Matrice dynamique

[L] = [T ]−1 [U]

%Calcul de la matrice dynamique

dyn=inv(m)*k ;

MATLAB TP n˚4

Djelouah

Position duproblème

Saisie desdonnées

Calcul desélémentsmatricielsMatrice dynamique

Matrice modale

Conditions initiales

Calcul desdifférentesconstantes

Solution finale

Calcul des valeurs propres et des vecteurspropres

Calcul des valeurs propres et des vecteurs propres

[L]{q} = ω2[I]{q}

On remarque que ω2 représente une valeur propre de la matrice[L]. Les carrés des pulsations propres ω1 et ω2 sont donc lesvaleurs propres de la matrice dynamique [L]

Lignes de programme à écrire en noir.Répondre aux questions en rouge

%Calcul des valeurs propres et des vecteurs propres

[v , d ]=eig(dyn) ;← eig () ?que contient v ?que contient d ?omega=sqrt(diag(d))← sqrt(), diag() ? ;

MATLAB TP n˚4

Djelouah

Position duproblème

Saisie desdonnées

Calcul desélémentsmatricielsMatrice dynamique

Matrice modale

Conditions initiales

Calcul desdifférentesconstantes

Solution finale

Calcul des valeurs propres et des vecteurspropres

Calcul des valeurs propres et des vecteurs propres

[L]{q} = ω2[I]{q}

On remarque que ω2 représente une valeur propre de la matrice[L]. Les carrés des pulsations propres ω1 et ω2 sont donc lesvaleurs propres de la matrice dynamique [L]

Lignes de programme à écrire en noir.Répondre aux questions en rouge

%Calcul des valeurs propres et des vecteurs propres

[v , d ]=eig(dyn) ;← eig () ?que contient v ?que contient d ?omega=sqrt(diag(d))← sqrt(), diag() ? ;

MATLAB TP n˚4

Djelouah

Position duproblème

Saisie desdonnées

Calcul desélémentsmatricielsMatrice dynamique

Matrice modale

Conditions initiales

Calcul desdifférentesconstantes

Solution finale

Matrice modale

Matrice modale [µ]

La matrice [ µ ] dont les colonnes sont constituées par lesvecteurs modaux est appelée matrice modale, elle est définie par

[µ] =

[1 1µ1 µ2

]Lignes de programme à écrire en noir.Répondre aux questions en rouge

On met 1 dans la première ligne de v

for i=1 :nmu( :,i)=[v(:, i)/v(1, i)] ;end↑Commenter ces lignes

MATLAB TP n˚4

Djelouah

Position duproblème

Saisie desdonnées

Calcul desélémentsmatricielsMatrice dynamique

Matrice modale

Conditions initiales

Calcul desdifférentesconstantes

Solution finale

Tenir compte des conditions initiales

Conditions initiales[A11 cos (φ1)A12 cos (φ2)

]= [µ]−1

[x10x20

](1)[

−ω1A11 sin (φ1)−ω2A12 sin (φ2)

]= [µ]−1

[x10x20

](2)

Exemples :

Tenir compte des conditions initiales

muinv=inv(mu) ;a=muinv*x0’ ;b=muinv*xpoint0’ ;

MATLAB TP n˚4

Djelouah

Position duproblème

Saisie desdonnées

Calcul desélémentsmatricielsMatrice dynamique

Matrice modale

Conditions initiales

Calcul desdifférentesconstantes

Solution finale

Cas particulier des systèmes à deux degrés deliberté

Calcul des φi et des Aij

On calcule tan(φ1) et tan (φ2) puis on déduit les expressions deA11 et A12 .

Calcul des phi et des Aij

omega1=omega(1) ;omega2=omega(2) ;phi1=-atan(b(1)/a(1)/omega1) ;phi2=-atan(b(2)/a(2)/omega2) ;a11=a(1)/cos(phi1) ;a12=a(2)/cos(phi2) ;

MATLAB TP n˚4

Djelouah

Position duproblème

Saisie desdonnées

Calcul desélémentsmatriciels

Solution finaleCalcul de la solutionfinale

Représentationgraphique

Solution finale

Solution finale

x1 = a11 cos (ω1t + φ1) + a12 cos (ω2t + φ2)x2 = µ1 a11 cos (ω1t + φ1) + µ2 a12 cos (ω2t + φ2)

%solution finale

mu1=mu(2,1) ;mu2=mu(2,2) ;x1=a11*cos(omega1*t+phi1)+a12*cos(omega2*t+phi2) ;x2=mu1*a11*cos(omega1*t+phi1)+mu2*a12*cos(omega2*t+phi2) ;

MATLAB TP n˚4

Djelouah

Position duproblème

Saisie desdonnées

Calcul desélémentsmatriciels

Solution finaleCalcul de la solutionfinale

Représentationgraphique

Représentation graphique

Représentation graphique

Utiliser subplot(211) pour représenter les deux courbessuperposées x1(t) et x2(t).

%Graphes

subplot(211)plot(t,x1)xlabel(’temps’) ;ylabel(’x1’) ;title(’Oscillateur à deux degrés de liberté’) ;subplot(212)plot(t,x2)xlabel(’temps’) ;ylabel(’x2’) ;