Upload
phammien
View
232
Download
4
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’) ;