Professional Documents
Culture Documents
CALCUL DAIRE
I. But
crire une fonction de MatLab capable de calcul laire de chacun type des sections, classes
dans la liste(page29), partir de leurs dimensions.
function y=aire(b, h, forme,type, t)
II. Programmation
MATLAB Editor/Debugger-[aire.m-C:\MATLAB\work\aire.m]
function y=aire(b,h,forme,type,t)
%AIRE(b,h,type_section,c,t) calcule l'aire d'une section
%
%
-b,h,t
: valeurs caractrisent la dimension
%
de la section
%
-TYPE_SECTION : nombre indique une des 3 classe de
%
type de section
%
-sous_type
: indique le sous-type de chaque classe
%
%
TYPE_SECTION =
%
1 :rectangulaire ->b = base;h = hauteur
%
%
2 :triangulaire
%
sous_type=1 triangle isocle ->b = base; h = hauteur
%
sous_type=2 triangle rectangulaire ->b = base; h = hauteur
%
%
3 :ronde(cercle ou ellipse)
%
sous_type=1 ronde complte }
%
sous_type=2 demie ronde
} b = demie rayon d'abscisse ;
%
sous_type=3 quarte ronde
} h = demi rayon d'oordonne
%
sous_type=4 anneau ronde -> b,h=les dimensions de la
%
ronde intermdiaire de
%
l'anneau
%
t =l'paisseur de l'anneau
%Tester les donnes
if nargin==3
sous_type=0;
t=0;
elseif nargin==4
t=0;
elseif nargin<3|nargin>5
help aire
error('Nombre des donnes incorrect')
end
%End tester les donnes
%Entrer dans le calcul
switch type_section
case 1
y=b*h;
case 2
if sous_type==1
y=(1/2)*b*h;
Charg: LY HAV
%section rectangulaire
%section triangulaire
%triangle isocle
Page 1
Papport de Matlab
%section ronde
%autres section
III.Vrification
Calcul par le programme
1/Rectanle
bh = 2025
>>aire(20,25,1)
ans =
500
Calcul manuel
1. A = 2025
= 500
2.Triangle isocle
>>aire(23,25,2,1)
ans =
287.5000
2. A = () 2335
= 287.5
bh = 2335
3. A = () 5687
= 2436
bh = 8080
4. A = 802
= 20106.192
Page 2
Papport de Matlab
5.Demi ellipse
>>aire(70,60,3,2)
catgorie ellipsienne
ans =
6.5973e+003
bh = 7060
125.6637
5. A = (/2) 7060
= 6597.345
6.Quart-ellipse
>> aire(100,50,3,3)
catgorie ellipsienne
ans =
3.9270e+003
bh = 10050
6. A = (/4)10050
= 3926.991
7.Anneau
>>aire(10,10,3,4,2)
catgorie ciculaire
ans =
bht = 10102
7. A = 2(10+10)
= 125.664
IV.Conclusion
On observe que les rsultats par calcul du programme et par calcul ont sont gaux petit excs
ou dfaut, ce qui provient de larrondissement. Pour bien vrifier le programme, il convient de
lexecuter plusieurs exemples pour chaque type de section.
*Remarque :le programme ne fonctionne correctement que pour les types de section classs dans la
liste page.....
Charg: LY HAV
Page 3
Papport de Matlab
Charg: LY HAV
%section rectangulaire
%section triangulaire
%triangle isocle
Page 4
Papport de Matlab
%ronde complet
%sur-demi-ronde
%quart-ronde
%anneau
%autres section
III.Vrification
Calcul par programme
1.Rectanle
bh = 2025
>>[xg,yg]=center(20,25,1)
xg =
10
yg =
12.5000
Calcul manuel
1. xg = b/2 = 10
yg = h/2 = 12.5
2.Triangle isocle
bh = 2335
>>[xg,yg]=center(23,35,2,1)
xg =
11.5000
yg =
11.6667
2. xg = b/2 = 11.500
yg = h/3 = 11.667
Charg: LY HAV
Page 5
Papport de Matlab
3. xg = b/3 = 18.667
yg = h/3 = 29
4. xg = b
yg = h
4.Cercle complet
bh = 8080
>>[xg,yg]=center(80,80,3,1)
catgorie ciculaire
xg =
80
yg =
80
= 80
= 80
5. xg = b/2 = 70/2 = 35
yg = 4h/3
= 25.465
5.Demi ellipse
bh = 7060
>>[xg,yg]=center(70,60,3,2)
catgorie ellipsienne
xg =
70
yg =
25.4648
6. xg = 4b/3
yg = 4h3
6.Quart-ellipse
bh = 10050
>>[xg,yg]=center(100,50,3,3)
catgorie ellipsienne
xg =
42.4413
yg =
21.2207
7.Anneau
bht = 10102
[xg,yg]=center(10,10,3,4,2)
catgorie ciculaire
xg =
10
yg =
10
7. xg = b
yg = h
= 42.441
= 21.221
= 10
= 10
IV.Conclusion
On observe que les rsultats par calcul du programme et par calcul ont sont gaux petit excs
ou dfaut, ce qui provient de larrondissement. Pour bien vrifier le programme, il convient de
lexecuter plusieurs exemples pour chaque type de section.
*Remarque :le programme ne fonctionne correctement que pour les types de section classs dans la
liste page.....
Charg: LY HAV
Page 6
Papport de Matlab
Charg: LY HAV
%section rectangulaire
%section triangulaire
%triangle isocle
%triangle rectangulaire
Page 7
Papport de Matlab
%ronde complete
%sur-demi-ronde
%quart-ronde
%anneau
%autres section
III.Vrification.
Cacul par programme
1.Rectanle
bh = 2025
>>[Ixg,Iyg]=inertie(20,25,1)
Ixg =
2.6042e+004
Iyg =
1.6667e+004
Calul manuel
1. Ixg =(1/12) 20253
=26041.667
Iyg =(1/12) 25203
=16666.667
2.Triangle isocle
bh = 2335
>>[Ixg,Iyg]=inertie(23,35,2,1)
Ixg =
2.7392e+004
Iyg =
8.8718e+003
Charg: LY HAV
Page 8
Papport de Matlab
3.
4.Cercle complet
bh = 8080
>>[Ixg,Iyg]=inertie(80,80,3,1)
catgorie ciculaire
Ixg =
3.2170e+007
Iyg =
3.2170e+007
4.
Ixg = 804/4
= 32169908.77
Iyg = 804/4
= 32169908.77
5.
Ixg = 70603(1/8-8/9 )
= 1659525.245
Ixg = 60703/8
= 80811747.101
6.Quart-ellipse
bh = 10050
>>[Ixg,Iyg]=inertie(100,50,3,3)
catgorie ellipsienne
Ixg =
6.8598e+005
Iyg =
2.7439e+006
6.
Ixg = 100503(1/16-4/92)
= 685981.004
Iyg = 501003(1/16-4/92)
= 2743924.016
7.Anneau
bht = 10102
>>[Ixg,Iyg]=inertie(10,10,3,4,2)
catgorie ciculaire
Ixg =
6.2832e+003
Iyg =
6.2832e+003
7.
5.Demi ellipse
bh = 7060
>>[Ixg,Iyg]=inertie(70,60,3,2)
catgorie ellipsienne
Ixg =
1.6595e+006
Iyg =
8.0817e+006
IV.Conclusion
On observe que les rsultats par calcul du programme et par calcul ont sont gaux petit excs
ou dfaut, ce qui provient de larrondissement. Pour bien vrifier le programme, il convient de
lexecuter plusieurs exemples pour chaque type de section.
*Remarque :le programme ne fonctionne correctement que pour les types de section classs dans la
liste page.....
Charg: LY HAV
Page 9
Papport de Matlab
CALCUL LONGUEUR
I.But
Ecrire une function de Matlab capable de calcul la distance entre 2 points dans le plan 2D.
Function L=longueur(A,B)
II.Programmation.
MATLAB Editor/Debugger-[longueur.m-C:\MATLAB\work\longueur.m]
function y=longueur(A,B)
%calculer la distance entre 2 points
%example:
A=[a1 a2];
%
B=[b1 b2];
%
longueur(A,B)=sqrt[(a1-b1)^2+(a2-b2)^2]
%tester le nombre de donnes
if nargin~=2
error('nombre de donnes incorrect')
end
%End tester le nombre de donnes
%calcul
if prod(size(A))>2|prod(size(B))>2
%tester pour que les variables
sont vecteur
error('les variables s''aggissent de vecteurs')
elseif length(A)~=2|length(B)~=2
%tester le nombre des lments des
vecteurs
error('the coordinate systme is 2D')
%s'ls sont gals 2, systme 2D
else
t=[];
l=length(A);
for i=1:l
t(i)=A(i)-B(i);
%la soustraction des lments des
end
%2 vecteurs
y=sqrt(sum(t.^2));
%module du vecteur t
end
%End calcul
III.Vrication
>>longueur(M,N)
Calcul manuel
1. L =
= 45.891
(10-1) + (50-5)
2. L =
Page 10
(35+5) + (-20-10)
Papport de
= 50
50
ans =
IV.Conclusion
On observe que les rsultats par calcul du programme et par calcul ont sont gaux petit excs
ou dfaut, ce qui provient de larrondissement. Pour bien vrifier le programme, il convient de
lexecuter plusieurs exemples pour chaque type de section.
*Remarque :le programme ne fonctionne correctement que pour les types de section classs dans la
liste page.....
Charg: LY HAV
Matlab
Page 11
Papport de
FICHIER DE DONNES
I.But
Ecrire des fichiers de donnes suscesible pour le programme dterminant les caratristiques
gomtriques des sections I T C U L H Z U ( programme principal ).
II.Script
On vrifie le programme principal pour 3 sections : L I T
Dans ce fichier, on doit enregistrer les informations suivantes :
-type de secion (I T C U L H Z U)
-paisseur (t)
-nombre de section compose (numsec)
-nombre de noeuds composs (nodes) et leurs coordonnes
-connection entre noeuds en chaque secion (connect)
-type de section compose et son paisseur(Rectangle,Triangle,.. )
(t_section=1, t_e=0)
1.Section L
12
170
12
250
3
2
MATLAB Editor/Debugger-[data.m-C:\MATLAB\work\data.m]
%Fichier de donnes
%type de section calcule
section='section L';
%paisseur
t=12;
%nbr de section
numsec=2;
%type de section
t_section=1;
%sous-type
s_titre=0;
%paisseur
t_e=0;
%nbre noeud
numnod=7;
%coordonnes des noeuds [n_nd x y]
nodes=[1
0
0
2
262 0
3
262 12
4
0
12
5
12
12
6
12
182
Charg: LY HAV
Page 12
Papport de Matlab
0
182];
4 points pour une section [n_section nd1 nd2 nd3 nd4 nd1]
1 2 3 4 1
4 5 6 7 4];
%sauvegarder
save data.mat
2.Section I
10
12
170
12
11
12
12
250
MATLAB Editor/Debugger-[data.m-C:\MATLAB\work\data.m]
%Fichier de donnes
%type de section calcule
section='section I';
%paisseur
t=12;
%nbr de section
numsec=3;
%nbre noeud
numnod=12;
%type de section
t_section=1;
%sous-titre
s_titre=0;
%paisseur
t_e=0;
%coordonnes des noeuds [n_nd x y]
nodes=[1
0
0
2
250
0
3
250 12
4
0
12
5
119 12
6
131 12
7
131 182
8
119 182
9
250 182
10 250 194
11 0
194
12 0
182] ;
%connecter
connect=[1
2
3
4
1
5
9
points pour une section [n_section nd1 nd2 nd3 nd4 nd1]
2 3 4 1
6 7 8 5
10 11 12 9];
%sauvegarder
save data.mat
Charg: LY HAV
Page 13
Papport de Matlab
3.Section T
250
12
7
4
170
12
MATLAB Editor/Debugger-[data.m-C:\MATLAB\work\data.m]
%Fichier de donnes
%type de section calcule
section='section T';
%paisseur
t=12;
%nbr de section
numsec=2;
%nbre noeud
numnod=8;
%type de section
t_section=1;
%sous-titre
s_titre=0;
%paisseur
t_e=0;
%coordonnes des noeuds [n_nd x y]
nodes=[1
119
0
2
131
0
3
131 170
4
119 170
5
250 170
6
250 182
7
0 182
8
0 170] ;
%connecter 4 points pour une section [n_section nd1 nd2 nd3 nd4 nd1]
connect=[1 1 2 3 4 1
2 5 6 7 8 5];
%sauvegarder
save data.mat
III.Conclusion
Le fichier de donne varie de lun lautre dpendemment de sa type et sa dimension. On
ncrit le fichier de donne que pour 3 sections: L I T pour calculer leurs caractristiques
gometriques et pour mme vrifier le programme principale.
Charg: LY HAV
Page 14
Papport de Matlab
CARATERISTIQUES GEOMETRIQUES
I.But
Ecrire un programme capable de trouver les caratristiques gomtriques dune section
(I T C U L H Z U). Les fonctions et le fichier de donne sont rapports pour faciliter la
programmation.
function y=aire(b, h, type_section, sous_titre, t)
function [xg,yg]=center(b, h, type_section, sous_titre, t)
function [Ixg,Iyg]=inertie(b, h, type_section, sous_titre, t)
Function L=longueur(A,B)
Data.m
II.Thorie
1/Aire
S= si
2/Moment statique
MXX = ygi si
MYY = xgi si
3/Centre de gravit
M
XG = YY
S
M
YG = XX
S
4/Moments dinertie
IXX = Ixgxgi + Yg2 si
IYY = Iygygi + Xg2 si
IXGXG = IXX YG2 S
IYGYG = IYY XG2 S
5/Produit dinertie
IXY = Ixgygi + Xg Yg si
IXGYG = IXY XG YG S
6/Rayon dinertie
I XGXG
rXG =
S
I YGYG
rYG =
S
Charg: LY HAV
Page 15
Papport de Matlab
7/Cercle de Mhor
1/Moments dinertie principaux
I
I YGYG
I YGYG
I
2
XGXG
I1 = XGXG
I XGYG
2
2
I
I YGYG
I YGYG
I
2
XGXG
I1 = XGXG
I XGYG
2
2
I XGYG
2
I3,4 =
3/Direction principale
2IXGYG
tg 1 =
I YGYG I XGXG
4/Direction produit dinertie principal
I
I YGYG
tg 2 = XGXG
2IXGYG
III.Programmation
MATLAB Editor/Debugger-[c_geometrique.m-C:\MATLAB\work\c_geometrique.m]
%les lments caratristiques d'une section gomtrique
data
%Afficher le rsultat
fid=fopen('FICHIER DE RESULTAT.m','w');
fprintf(fid,['Caratristiques gomtriques d''une ',section,':']);
fprintf(fid,'\nI.Dtaills sur les sections lmentaires');
%l'aire totale
S=0;
%Les moment statique par rapport aux axes globaux
MX=0;
MY=0;
%Les moments d'inertie par rapport aux axes globaux
IXX=0;
IYY=0;
%Le produit d'inertie par rapport aux axes globaux
IXY=0;
for i=1:numsec
N=zeros(4,2);%Matrice stoquant les coodonnes des connects/section
for j=1:4
n1=connect(i,j+1);%Le numro_noeud du point_connect
n2=connect(i,j+2);
a=nodes(n1,2:3);
b=nodes(n2,2:3);
N(j,:)=a;
subplot(1,2,1),
plot([a(1) b(1)],[a(2) b(2)]);hold on;
Charg: LY HAV
Page 16
Papport de Matlab
Charg: LY HAV
Page 17
Papport de Matlab
Charg: LY HAV
Page 18
Papport de Matlab
IV.Application du programme
1/Section L
on crit le fichier de donne comme celui TP 5.on obtient un fichier data.m.
>>c_geometrique
MATLAB Editor/Debugger-[FICHIER
Charg: LY HAV
Page 19
Papport de Matlab
Charg: LY HAV
Page 20
Papport de Matlab
2/Section I
on crit le fichier de donne comme celui TP 5.on obtient un fichier data.m.
>>c_geometrique
MATLAB Editor/Debugger-[FICHIER
Charg: LY HAV
Page 21
Papport de Matlab
Charg: LY HAV
Page 22
Papport de Matlab
3/Section T
on crit le fichier de donne comme celui TP 5.on obtient un fichier data.m.
>>c_geometrique
MATLAB Editor/Debugger-[FICHIER
Charg: LY HAV
Page 23
Papport de Matlab
Charg: LY HAV
Page 24
Papport de Matlab
V.Calcul manuel
1/Section L
Y
182
(Xg2,Yg2)
12
(Xg1,Yg1)
12
1
2
si
3144
2040
5184
Xgi
131
6
Ygi
6
97
MXXi
18864
19788
216744
YG=41.810
262
MYYi
411864
12240
424104
XG=81.810
Xgi2 si
Iygyg
53954184 17984738
73440
24480
54027624 18009208
IYY=72036832
Ygi2 si
Ixgxg
113184
37728
19194360 4913000
19307544 4950728
IXX=24258272
XgiYgisi
Ixgyg
2471184 0
1187280 0
3658464 0
IXY=3658464
= 15196165.22
= 37340805.22
= -14073402.78
= 54.142
= 84.871
15196165.2
2 15196165.2
2
2 15196165.2
2
15196165.2
82
=
14073402.7
2
2
= 44175381.54
2
I1
15196165.2
2 15196165.2
2
2 15196165.2
2
15196165.2
82
14073402.7
2
2
= 8361588.899
2
I2
2 15196165.2
2
15196165.2
82
=
14073402.7
2
= 17906896.240
1
2 -14073402.
78
= arctg
= 0.452 + k/2 rad
2
2 - 15196165.2
2
37340805.2
2
I3,4
Charg: LY HAV
Page 25
(kZ)
Papport de Matlab
1
2 - 15196165.2
2
37340805.2
arctg
= 0.333 + n/2 rad
2
2 -14073402.
78
Rsultat:
S
XG ,YG
IXX , IYY
IXY
IXGXG , IYGYG
IXGYG
rXG , rYG
I1, I2
I3,4
1
2
(nZ)
mm2
41.410
mm
72036832
mm4
mm4
37340805.22 mm4
mm4
84.871
mm
8361588.899 mm4
mm4
rad
rad
= 5184
= 81.810
= 24258272
= 3658464
= 15196165.22
=-14073402.78
= 54.142
= 44175381.54
=17906896.240
= 0.452 + k/2
= 0.333 + n/2
(kZ)
(nZ)
2/Section I
Y
194
(Xg3,Yg3)
182
(Xg2,Yg2)
12
(Xg1,Yg1)
119 131
1
2
3
si
3000
2040
3000
S=8040
Xgi
125
125
125
Ygi
6
97
188
MXXi
18000
197880
564000
779880
YG =97
MYYI
375000
255000
375000
1005000
XG
=125
Xgi2 si
46875000
31875000
46875000
Iygyg
15625000
24480
15625000
31274480
IYY =156899480
250
Ygi2 si
Ixgxg
108000
36000
19194360
4913000
106032000 36000
125334360 4985000
IXX =130319360
XgiYgisi
Ixgyg
2250000
0
24735000 0
70500000 0
97485000 0
IXY =97485000
= 54671000
= 31274480
=0
= 82.461
= 62.369
Page 26
Papport de Matlab
I1
I2
I3,4
1
2
= IXGXG
= IYGYG
54671000- 31274480
=
1
20
= arctg
2
31274480- 54671000
1
31274480- 54671000
= arctg
2
20
Rsultat:
S
XG ,YG
IXX , IYY
IXY
IXGXG , IYGYG
IXGYG
rXG , rYG
I1, I2
I3,4
1
2
= 8040
= 125
= 130319360
= 97485000
= 54671000
=0
= 82.461
= 54671000
11698260
= 0 + k/2
= 0.785 + n/2
= 54671000
= 31274480
= 11698260
= 0 + k/2 rad
(kZ)
(nZ)
97
156899480
31274480
62.369
31274480
mm2
mm
mm4
mm4
mm4
mm4
mm
mm4
mm4
rad
rad
(kZ)
(nZ)
3/Section T
182
(Xg2,Yg2)
170
(Xg1,Yg1)
119 131
1
2
si
2040
3000
5184
Xgi
125
125
Ygi
85
176
Charg: LY HAV
MXXi
173400
528000
216744
MYYi
255000
375000
530000
Xgi2 si
31875000
46875000
78750000
Page 27
250
Iygyg
24480
15625000
15649480
Ygi2 si
14739000
92928000
107667000
Ixgxg
4913000
35000
4949000
XgiYgisi
21675000
66000000
87675000
Ixgyg
0
0
0
Papport de Matlab
XG=125
1
= arctg
2
15649480- 15004500
1
15649480- 15004500
2
= arctg
2
20
Rsultat:
S
XG ,YG
IXX , IYY
IXY
IXGXG , IYGYG
IXGYG
rXG , rYG
I1, I2
I3,4
1
2
= 5184
= 125
= 112616000
= 87675000
= 15004500
=0
= 54,563
= 15004500
=322490
= 0 + k/2
= 0.785 + n/2
IYY = 94399480
IXX =112616000
IXY = 87675000
= 15004500
= 15649480
=0
= 54,563
= 55.723
= 15004500
= 15649480
= 322490
= 0 + k/2 rad
(kZ)
(nZ)
139.167
94399480
15649480
55.723
15649480
mm2
mm
mm4
mm4
mm4
mm4
mm
mm4
mm4
rad
rad
(kZ)
(nZ)
VI.Conclusion
Le rsultat par lensemble de programme, appliqu sur 3 sections est obtenu avec le mme
valeur que celle par le calcul manuel. Il donc juste. Mais en comparant avec le calcul manuel, ce
programme sexecute plus rapidement, et plus prcisement en raison de moins derreur sur
larrondissement.
Charg: LY HAV
Page 28
Papport de Matlab