Vous êtes sur la page 1sur 28

TP1: Calcul des sections transversales

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

TP1: Calcul des sections transversales


elseif sous_type==2
%triangle rectangulaire
y=(1/2)*b*h;
else
disp('section inconnue')
end
case 3

%section ronde

%Dterminer la catgorie circulaire ou ellipse


if b==h
disp('catgorie ciculaire')
else
disp('catgorie ellipsienne')
end
%Dterminer la catgorie circulaire ou ellipse
%Le calcul
if sous_type==1
%ronde complete
y=pi*b*h;
elseif sous_type==2
%demi-ronde
y=(1/2)*pi*b*h;
elseif sous_type==3
%quart-ronde
y=(1/4)*pi*b*h;
elseif sous_type==4
%anneau
y=pi*t*(b+h);
else
error('section inconnue')
end
%Le calcul
otherwise
error('section inconnue')
end
%Entrer dans le calcul

%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.Triangle rectangulaire bh = 5687


>> aire(56,87,2,2)
ans =
2436
4.Cercle complet
>>aire(80,80,3,1)
catgorie ciculaire
ans =
2.0106e+004
Charg: LY HAV

3. A = () 5687
= 2436

bh = 8080
4. A = 802
= 20106.192

Page 2

Papport de Matlab

TP1: Calcul des sections transversales

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

TP1: Calcul des sections transversales

CALCUL DE CENTRE DE GRAVITE


I.But
Ecrire une function de Matlab capable de calculer les coordonnes du centre de gravit de
chacun type des sections, classes dans la liste(page29), par rapport leurs axes locales.
function [xg,yg]=center(b, h, type_section, sous_titre, t)
II.Programmation
MATLAB Editor/Debugger-[center.m-C:\MATLAB\work\center.m]
function [xg,yg]=center(b,h,type_section,sous_type,t)
%CENTER(b,h,type_section,c,t) calcule le centre de gravit d'une
%section, en prenant le coin de section comme point de repre
%
-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 ;
%
} h = demi rayon d'oordonne
%
sous_type=3 quarte ronde
}
%
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 center
error('Nombre des donnes incorrect')
end
%End tester les donnes
%Entrer dans le calcul
switch type_section
case 1
xg=b/2;
yg=h/2;
case 2
if sous_type==1
xg=b/2;

Charg: LY HAV

%section rectangulaire

%section triangulaire
%triangle isocle

Page 4

Papport de Matlab

TP1: Calcul des sections transversales


yg=h/3;
elseif sous_type==2
%triangle rectangulaire
xg=b/3;
yg=h/3;
else
error('section inconnue')
end
case 3
%section ronde
%Dterminer la catgorie circulaire ou ellipse
if b==h
disp('catgorie ciculaire')
else
disp('catgorie ellipsienne')
end
%End Dterminer la catgorie circulaire ou ellipsienne
%Le calcul
if sous_type==1
xg=b;
yg=h;
elseif sous_type==2
xg=b;
yg=4*h/(3*pi);
elseif sous_type==3
xg=4*b/(3*pi);
yg=4*h/(3*pi);
elseif sous_type==4
xg=b;
yg=h;
else
error('section inconnue')
end
%End Le calcul
otherwise
error('section inconnue')
end
%End Entrer dans le calcul

%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

TP1: Calcul des sections transversales

3. xg = b/3 = 18.667
yg = h/3 = 29

3.Triangle rectangulaire bh = 5687


>>[xg,yg]=center(56,87,2,2)
xg =
18.6667
yg =
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

TP1: Calcul des sections transversales

CALCUL MOMENTS D INERTIE


I.But
Ecrire une function de Matlab capable de calcul les moments dinertie de chacun type des
sections, classes dans la liste(page29), par rapport leurs axes locales.
function [Ixg,Iyg]=inertie(b, h, type_section, sous_titre, t)
II.Programmation
MATLAB Editor/Debugger-[inertie.m-C:\MATLAB\work\inertie.m]
function [Ixg,Iyg]=inertie(b,h,type_section,sous_type,t)
%INERTIE(b,h,type_section,c,t) calcule les inerties par rapport
%aux axes passant par le centre de gravit
%
-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 ;
%
} h = demi rayon d'oordonne
%
sous_type=3 quarte ronde
}
%
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 inertie
error('Nombre des donnes incorrect')
end
%End tester les donnes
%Entrer dans le calcul
switch type_section
case 1
Ixg=b*h^3/12;
Iyg=h*b^3/12;
case 2
if sous_type==1
Ixg=b*h^3/36;
Iyg=h*b^3/48;
elseif sous_type==2

Charg: LY HAV

%section rectangulaire

%section triangulaire
%triangle isocle
%triangle rectangulaire

Page 7

Papport de Matlab

TP1: Calcul des sections transversales


Ixg=b*h^3/36;
Iyg=h*b^3/36;
else
error('section inconnue')
end
case 3
%section ronde
%Dterminer la catgorie circulaire ou ellipse
if b==h
disp('catgorie ciculaire')
else
disp('catgorie ellipsienne')
end
%Dterminer la catgorie circulaire ou ellipse
%Le calcul
if sous_type==1
Ixg=pi*b*h^3/4;
Iyg=pi*h*b^3/4;
elseif sous_type==2
Ixg=pi*b*h^3*(1/8-8/(9*pi^2));
Iyg=pi*h*b^3/8;
elseif sous_type==3
Ixg=pi*b*h^3*(1/16-4/(9*pi^2));
Iyg=pi*h*b^3*(1/16-4/(9*pi^2));
elseif sous_type==4
Ixg=pi*t*h^2*(3*b+h)/4;
Iyg=pi*t*b^2*(3*h+b)/4;
else
error('section inconnue')
end
%Le calcul
otherwise
error('section inconnue')
end
%Entrer dans le calcul

%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

2. Ixg =(1/36) 23353


=27392.361
Iyg =(1/36) 35233
=8871.771

Charg: LY HAV

Page 8

Papport de Matlab

TP1: Calcul des sections transversales

3.Triangle rectangulaire bh = 5687


>>[Ixg,Iyg]=inertie(56,87,2,2)
Ixg =
1024338
Iyg =
4.2441e+005

3.

Ixg =(1/36) 56873


=1024338
Iyg =(1/36) 87563
= 424405.333

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.

Ixg = 2102 (310+10)/4


= 6283.185
Ixg = 2102 (310+10)/4
= 6283.185

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

TP1: Calcul des sections transversales

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

Calcul par programme


1.Distance entre A(1,5) et B(10,50)
>>A=[1 5] ;
>>B=[10 50] ;
>>longueur(A,B)
ans =
45.8912

1. L =

= 45.891

2.Distance entre M(-5,10) et N(35,-20)


>>M=[-5 10] ;
>>N=[35 -20] ;
Charg: LY HAV
Matlab

(10-1) + (50-5)

2. L =
Page 10

(35+5) + (-20-10)

Papport de

TP1: Calcul des sections transversales

= 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

TP1: Calcul des sections transversales

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

TP1: Calcul des sections transversales


7
%connecter
connect=[1
2

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

TP1: Calcul des sections transversales

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

TP1: Calcul des sections transversales

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

TP1: Calcul des sections transversales

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

2/Produit dinertie principaux


I XGXG I YGYG
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

TP1: Calcul des sections transversales


text(a(1),a(2),num2str(n1))
end
mi=min(N); %les coordonnes du repre local
%Trois points conscutifs de la section
m1=N(1,:);
m2=N(2,:);
m3=N(3,:);
if m1(1)==m2(1)
h=longueur(m1,m2);
b=longueur(m2,m3);
else
b=longueur(m1,m2);
h=longueur(m2,m3);
end
%l'aire de la section
s=aire(b,h,t_section,s_titre,t_e);
S=S+s;
%Centre de gravit par rapport au repre local
[xg,yg]=center(b,h,t_section,s_titre,t_e);
%Centre de gravit par rapport au repre principal
Xg=mi(1)+xg;
Yg=mi(2)+yg;
%Moment statique
MX=MX+Yg*s;
MY=MY+Xg*s;
%Les moments d'inertie par rapport aux axes locaux
[Ixg,Iyg]=inertie(b,h,t_section,s_titre,t_e);
%Les moments d'inertie par rapport aux axes globaux
IXg=Ixg+Yg^2*s;
IYg=Iyg+Xg^2*s;
IXX=IXX+IXg;
IYY=IYY+IYg;
%Le produit d'inertie par rapport aux axes locaux
Ixyg=0;
IXY=IXY+Ixyg+Xg*Yg*s;
%fichiers
fprintf(fid,'\n\t\t%2d\tRectangle:',i);
fprintf(fid,'\n\t\t\t\tb\t\t=%8.3f\t\tmm',b);
fprintf(fid,'\n\t\t\t\th\t\t=%8.3f\t\tmm',h);
fprintf(fid,'\n\t\t\t\ts\t\t=%8.3f\t\tmm2',s);
fprintf(fid,'\n\t\t\t\tIxg\t=%8.3f\tmm4',Ixg);
fprintf(fid,'\n\t\t\t\tIyg\t=%8.3f\t\tmm4',Iyg);
fprintf(fid,'\n\t\t\t\tIxyg\t=%8.3f\t\tmm4',Ixyg);
%Prsentation Graphique
N=[N;N(1,:)];
N=N';
x=N(1,:);
y=N(2,:);
text_i=num2str(i);
ctext=['(xg' text_i ',yg' text_i ')'];
Xm=Xg+t;
Ym=Yg+t;
subplot(1,2,2)
fill(x,y,Ixg/IXg),hold on
subplot(1,2,1)
plot([Xm Xg Xg],[Yg Yg Ym],'m',Xg,Yg,'p',Xm,Yg,'>m',Xg,Ym,'^m');hold on;
text(Xg,Yg,ctext)
end

Charg: LY HAV

Page 17

Papport de Matlab

TP1: Calcul des sections transversales


XG=MY/S;
YG=MX/S;
IXG=IXX-YG^2*S;
IYG=IYY-XG^2*S;
IXYG=IXY-XG*YG*S;
%Les moments d'inertie principaux
I1=(IXG+IYG)/2+sqrt(((IXG-IYG)/2)^2+IXYG^2);
I2=(IXG+IYG)/2-sqrt(((IXG-IYG)/2)^2+IXYG^2);
%Le produit d'inertie principal
IXY_max=(I1-I2)/2; %sqrt(((IXG-IYG)/2)^2+IXYG^2);
%Les rayon de giration
rXG=sqrt(IXG/S);
rYG=sqrt(IYG/S);
%Direction principale
theta_xx=(1/2)*atan(2*IXYG/(IYG-IXG));
theta_xy=(1/2)*atan((IXG-IYG)/(2*IXYG));
%fichier de rsultats
fprintf(fid,'\n\nII.Aire totale');
fprintf(fid,'\n\tA\t=\t%8.3f\tmm2',S);
fprintf(fid,'\nIII.Centre de gravit');
fprintf(fid,'\n\tXG\t=\t%8.3f\tmm',XG);
fprintf(fid,'\n\tYG\t=\t%8.3f\tmm',YG);
fprintf(fid,'\nIV.Moments d''inertie par rapport au centre de gravit');
fprintf(fid,'\n\tIXG\t=\t%8.3f\tmm4',IXG);
fprintf(fid,'\n\tIYG\t=\t%8.3f\tmm4',IYG);
fprintf(fid,'\nV.Produit d''inertie par rapport au centre de gravit');
fprintf(fid,'\n\tIXYG\t=\t%8.3f\tmm4',IXYG);
fprintf(fid,'\nVI.Rayons d''inertie par rapport au centre de gravit');
fprintf(fid,'\n\trXG\t=\t%8.3f\tmm',rXG);
fprintf(fid,'\n\trYG\t=\t%8.3f\tmm',rYG);
fprintf(fid,'\nVII.Direction principaux');
fprintf(fid,'\n\ttheta_xx\t=\t%8.3f+k*pi/2\trad',theta_xx);
fprintf(fid,'\nVIII.Moments d''inertie principaux');
fprintf(fid,'\n\tI1\t=\t%8.3f\tmm4',I1);
fprintf(fid,'\n\tI2\t=\t%8.3f\tmm4',I2);
fprintf(fid,'\nIX.Direction cisaillement principal');
fprintf(fid,'\n\ttheta_xy\t=\t%8.3f+k*pi/2\trad',theta_xy);
fprintf(fid,'\nX.Produit d''inertie principal');
fprintf(fid,'\n\tIXY_max\t=\t%8.3f\tmm4',IXY_max);
%prsentation graphique
xy_max=max(nodes(:,2:3));
xy_min=min(nodes(:,2:3));
XM=xy_max(1)+t;
YM=xy_max(2)+t;
plot([XM XG XG],[YG YG YM],'r',XG,YG,'p',XM,YG,'r>',XG,YM,'r^');hold on;
plot([XM 0 0],[0 0 YM],'g',XM,0,'g>',0,YM,'g^');
text(XG,YG,' G')
text(XM,YG,' XG')
text(XG,YM,' YG')
text(XM,0,' X')
text(0,YM,' Y')
for i=1:2
subplot(1,2,i)
hold on;

Charg: LY HAV

Page 18

Papport de Matlab

TP1: Calcul des sections transversales


plot(-t,-t,'w',XM+t,YM+t,'w')
end
status=fclose(fid);

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

DE RESULTAT.m-C:\MATLAB\work\ FICHIER DE RESULTAT.m]

Caratristiques gomtriques d'une section L:


I.Dtaills sur les sections lmentaires
1
Rectangle:
b
= 262.000
mm
h
= 12.000
mm
s
=3144.000
mm2
xg
= 131.000
mm
yg
=
6.000
mm
Ixgxg =37728.000
mm4
Iygyg =17984728.000
mm4
Ixgyg =
0.000
mm4
2
Rectangle:
b
= 12.000
mm
h
= 170.000
mm
s
=2040.000
mm2
xg
=
6.000
mm
yg
= 85.000
mm
Ixgxg =4913000.000
mm4
Iygyg =24480.000
mm4
Ixgyg =
0.000
mm4
II.Aire totale
A = 5184.000 mm2
III.Centre de gravit
XG =
81.810 mm
YG =
41.810 mm
IV.Moments d'inertie par rapport au centre de gravit
IXGXG = 15196165.222
mm4
IYGYG = 37340805.222
mm4
V.Produit d'inertie par rapport au centre de gravit
IXGYG = -14073402.778 mm4
VI.Rayons d'inertie par rapport au centre de gravit
rXG
=
54.142 mm
rYG
=
84.871 mm
VII.Direction principaux
theta1
=
-0.452+k*pi/2
rad
VIII.Moments d'inertie principaux
I1 = 44175381.545
mm4
I2 = 8361588.899 mm4
IX.Direction cisaillement principal
theta2
=
0.333+k*pi/2
rad
X.Produit d'inertie principal
I3 = 17906896.323
mm4
I4 = -17906896.323 mm4

Charg: LY HAV

Page 19

Papport de Matlab

TP1: Calcul des sections transversales

Charg: LY HAV

Page 20

Papport de Matlab

TP1: Calcul des sections transversales

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

DE RESULTAT.m-C:\MATLAB\work\ FICHIER DE RESULTAT.m]

Caratristiques gomtriques d'une section I:


I.Dtaills sur les sections lmentaires
1
Rectangle:
b
= 250.000
mm
h
= 12.000
mm
s
=3000.000
mm2
xg
= 125.000
mm
yg
=
6.000
mm
Ixgxg =36000.000
mm4
Iygyg =15625000.000
mm4
Ixgyg =
0.000
mm4
2
Rectangle:
b
= 12.000
mm
h
= 170.000
mm
s
=2040.000
mm2
xg
=
6.000
mm
yg
= 85.000
mm
Ixgxg =4913000.000
mm4
Iygyg =24480.000
mm4
Ixgyg =
0.000
mm4
3
Rectangle:
b
= 250.000
mm
h
= 12.000
mm
s
=3000.000
mm2
xg
= 125.000
mm
yg
=
6.000
mm
Ixgxg =36000.000
mm4
Iygyg =15625000.000
mm4
Ixgyg =
0.000
mm4
II.Aire totale
A = 8040.000 mm2
III.Centre de gravit
XG =
125.000 mm
YG =
97.000 mm
IV.Moments d'inertie par rapport au centre de gravit
IXGXG = 54671000.000
mm4
IYGYG = 31274480.000
mm4
V.Produit d'inertie par rapport au centre de gravit
IXGYG =
0.000 mm4
VI.Rayons d'inertie par rapport au centre de gravit
rXG
=
82.461 mm
rYG
=
62.369 mm
VII.Direction principaux
theta1
=
0.000+k*pi/2
rad
VIII.Moments d'inertie principaux
I1 = 54671000.000
mm4
I2 = 31274480.000
mm4
IX.Direction cisaillement principal
theta2
=
0.785+k*pi/2
rad
X.Produit d'inertie principal
I3 = 11698260.000
mm4
I4 = -11698260.000 mm4

Charg: LY HAV

Page 21

Papport de Matlab

TP1: Calcul des sections transversales

Charg: LY HAV

Page 22

Papport de Matlab

TP1: Calcul des sections transversales

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

DE RESULTAT.m-C:\MATLAB\work\ FICHIER DE RESULTAT.m]

Caratristiques gomtriques d'une section T:


I.Dtaills sur les sections lmentaires
1
Rectangle:
b
= 12.000
mm
h
= 170.000
mm
s
=2040.000
mm2
xg
=
6.000
mm
yg
= 85.000
mm
Ixgxg =4913000.000
mm4
Iygyg =24480.000
mm4
Ixgyg =
0.000
mm4
2
Rectangle:
b
= 250.000
mm
h
= 12.000
mm
s
=3000.000
mm2
xg
= 125.000
mm
yg
=
6.000
mm
Ixgxg =36000.000
mm4
Iygyg =15625000.000
mm4
Ixgyg =
0.000
mm4
II.Aire totale
A = 5040.000 mm2
III.Centre de gravit
XG =
125.000 mm
YG =
139.167 mm
IV.Moments d'inertie par rapport au centre de gravit
IXGXG = 15004500.000
mm4
IYGYG = 15649480.000
mm4
V.Produit d'inertie par rapport au centre de gravit
IXGYG =
0.000 mm4
VI.Rayons d'inertie par rapport au centre de gravit
rXG
=
54.563 mm
rYG
=
55.723 mm
VII.Direction principaux
theta1
=
0.000+k*pi/2
rad
VIII.Moments d'inertie principaux
I1 = 15649480.000
mm4
I2 = 15004500.000
mm4
IX.Direction cisaillement principal
theta2
=
-0.785+k*pi/2
rad
X.Produit d'inertie principal
I3 = 322490.000 mm4
I4 = -322490.000 mm4

Charg: LY HAV

Page 23

Papport de Matlab

TP1: Calcul des sections transversales

Charg: LY HAV

Page 24

Papport de Matlab

TP1: Calcul des sections transversales

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

IXGXG = 24258272 41.8102 5184


IYGYG = 72036832 81.8102 5184
IXGYG = 3658464 81.81041.8105184
15196165.2
2
rXG
=
5184
37340805.2
2
rYG
=
5184

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

TP1: Calcul des sections transversales

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

IXGXG = 130319360 9728040


IYGYG = 516899480 12528040
IXGYG = 97485000 9712580740
54671000
rXG
=
8040
31274480
rYG
=
8040
Charg: LY HAV

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

TP1: Calcul des sections transversales

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)

= /4+k/2 = 0.785 + n/2 rad

(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

TP1: Calcul des sections transversales


YG=139.167

XG=125

IXGXG = 112616000 139.16725184


IYGYG = 9439948 12525184
IXGYG = 87675000 139.1671255184
15004500
rXG
=
5184
15649480
rYG
=
5184
I1
= IXGXG
I2
= IYGYG
I3,4
= (15004500 15649480)/2
1
20

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)

= /4+k/2 = 0.785 + n/2 rad

(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

Centres d'intérêt liés