Académique Documents
Professionnel Documents
Culture Documents
L’avant traitement
Nom : ZEBROUCHE
Prénom : Meriem
Matricule : 202031039417
Section : B
Groupe : 4
M1-STR-GC
Le 19-03-2023
1- Les étapes de dessin :
1.1-La matrice de la structure :
Pour designer la structure on a entré la matrice des nœuds et la matrice des barres dans MATLAB sur les
titres Mnxy pour les nœuds contenant les coordonnées x,y de point et Mn pour les barres contenant les
indices des point à relier.
Mnxy = 1 0 0
2 4 4
3 4 0
4 8 4
5 8 0
6 12 0
Mn = 1 1 2
2 1 3
3 3 2
4 2 4
5 2 5
6 3 4
7 3 5
8 4 6
9 5 6
10 4 5
- on commence par déterminer la valeur minimale et maximale de barres Xmax, Xmin et Ymax, Ymin.
function[c d e f]=position(Mnxy)
Xmin = min(Mnxy(:,2));
Xmax = max(Mnxy(:,2));
Ymin = min(Mnxy(:,3));
Ymax = max(Mnxy(:,3));
function [num]=noeud(Mnxy)
nn = length(Mnxy);
for i = 1:nn
num=Mnxy(i,1);
text(Mnxy(i,2), Mnxy(i,3), num2str(num));
end
end
Les coordonnées où le texte sera placé sont spécifiées par les éléments deux et trois de la ligne i de la
matrice Mnxy. Le texte qui sera affiché est la valeur de num convertie en chaîne de caractères
(num2str(num)). Cela signifie que le numéro extrait à partir de la matrice Mnxy sera affiché à la position
spécifiée par ses deux autres valeurs dans la matrice Mnxy.
Mnxy = [1 0 0; 2 4 4; 3 4 0; 4 8 4; 5 8 0; 6 12 0];
Mn = [1 1 2; 2 1 3; 3 3 2; 4 2 4; 5 2 5; 6 3 4; 7 3 5; 8 4 6; 9 5 6; 10 4 5];
nb = length(Mn);
Xmin = min(Mnxy(:,2));
Xmax = max(Mnxy(:,2));
Ymin = min(Mnxy(:,3));
Ymax = max(Mnxy(:,3));
hold on;
for i = 1:nb
n1 = Mn(i,2);
n2 = Mn(i,3);
x1 = Mnxy(n1,2);
y1 = Mnxy(n1,3);
x2 = Mnxy(n2,2);
y2 = Mnxy(n2,3);
line([x1, x2], [y1, y2]);
end
nn = size(Mnxy, 1);
for j = 1:nn
p=Mnxy(j,1);
text(Mnxy(j,2), Mnxy(j,3), num2str(p));
end
for i = 1:nb
origin = Mn(i,2);
extremity = Mn(i,3);
x1_position = Mnxy(origin,2);
x2_position = Mnxy(extremity,2);
y1_position = Mnxy(origin,3);
y2_position = Mnxy(extremity,3);
mid_x = (x2_position + x1_position) / 2;
mid_y = (y1_position + y2_position) / 2;
k=Mn(i,1);
text(mid_x, mid_y, num2str(k),'Color', 'red');
end
hold off;
3-le résultat de code :
Figure .1.
4- Enregistrer et appeler :
Pour utilise les résultats de notre opération pour afficher des autres graphique on a besoin de ce code :
semble charger les données à partir des fichiers textes et appelé les fonctions pour effectuer les
opérations sur les données
Mnxy=load('M.txt');
Mn=load('B.txt');
[c d e f]=position(Mnxy);
hold on
[x1 x2 y1 y2]=dessin(Mnxy, Mn);
[num]=noeud(Mnxy);
[mid_x mid_y]=barre(Mn,Mnxy);
hold off
-charger les données des fichiers textes 'M.txt' et 'B.txt'.
-appeler la fonction "position" avec Mnxy en entrée pour calculer les valeurs c, d, e, et f les limites
de l’axe.
-on indique à MATLAB de conserver le tracé actuel lors de l'ajout les autres éléments au
graphique.
-appelle la fonction "nœud" avec Mnxy comme argument pour effectuer certaines opérations
sur les données dans lequel la variable "num" semble contenir le résultat de cette opération.
-appelle une fonction nommée "barre" avec Mn et Mnxy comme arguments pour effectuer
certaines opérations sur les données. Les variables "mid_x" et "mid_y" semblent contenir le
-Indique à MATLAB de ne plus conserver le tracé actuel, ce qui permet de recommencer à partir