0% ont trouvé ce document utile (0 vote)
85 vues8 pages

Exercices MATLAB en Génie Civil et Électrique

Le document présente plusieurs scripts MATLAB résolvant des exercices d'introduction aux éléments finis. Les scripts génèrent des matrices et vecteurs aléatoires, effectuent des opérations linéaires et résolvent des systèmes linéaires.

Transféré par

anais mujinga
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
85 vues8 pages

Exercices MATLAB en Génie Civil et Électrique

Le document présente plusieurs scripts MATLAB résolvant des exercices d'introduction aux éléments finis. Les scripts génèrent des matrices et vecteurs aléatoires, effectuent des opérations linéaires et résolvent des systèmes linéaires.

Transféré par

anais mujinga
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

UNIVERSITE NOUVEAUX HORIZONS

FACULTE DES SCIENCES TECHNOLOGIQUES


GENIE CIVIL & GENIE ELECTRIQUE

COURS D’INTRODUCTION AUX ELEMENTS


FINIS : EXERCICES MATLAB (SCRIPT)

Fait par : Tous les étudiants de L3 ST 2023_2024


Titulaire du Cours : Professeur OLELA OTAFUDU

ANNEE 2023-2024
QUELQUES SCRIPT MATLAB SUIVANT L’ORDRE DES
QUESTIONS DANS LE PDF (EXERCICES MATLAB)
NB : Les scripts se trouvant dans ce document commencent à partir de la 3e Question dans le
PDF

Script MATLAB Question 3

t = (1:0.5:10)'; % Vecteur colonne de 1 à 10 par pas de 0,5

% Création de la matrice A avec les colonnes t, t^2, t^3 et t^4


A = [t, t.^2, t.^3, t.^4];

% Ajout d'une colonne qui vaut 1 lorsque t > 5, 0 sinon


B = [A, (t > 5)];
% Ajout d'une colonne qui vaut 1 lorsque t > 5, 0 sinon
C = [A, (t > 5)];

disp('La valeur de t')


disp(t)
disp('La valeur de A')
disp(A)
disp('La valeur de B')
disp(B)
disp('La valeur de C')
disp(C)
Script MATLAB Question 3 Suite

function exercice()
% Générer une matrice aléatoire de dimension 10x10
matrice_aleatoire = rand(4, 4);

% Calculer la trace de la matrice


trace_matrice = trace(matrice_aleatoire);

% Calculer la transposée de la matrice


transposee_matrice = transpose(matrice_aleatoire);

% Vérifier si la matrice est inversible avant de calculer


l'inverse
if det(matrice_aleatoire) ~= 0
% Calculer l'inverse de la matrice
inverse_matrice = inv(matrice_aleatoire);
else
inverse_matrice = 'La matrice n''est pas inversible.';
end

% Afficher les résultats


disp('Matrice aléatoire de dimension 10x10 :');
disp(matrice_aleatoire);

disp('Trace de la matrice :');


disp(trace_matrice);

disp('Transposée de la matrice :');


disp(transposee_matrice);

disp('Inverse de la matrice :');


disp(inverse_matrice);
end
Script MATLAB Question 4

% Générer les vecteurs colonnes u1, u2, u3


u1 = [1; 2; 3];
u2 = [-5; 2; 1];
u3 = [-1; -3; 7];

% Ecrivons la matrice A
A = [2,3,4;3,6,5;2,8,7];

% Afficher les résultats


disp('Vecteur colonne u1 :');
disp(u1);

disp('Vecteur colonne u2 :');


disp(u2);

disp('Vecteur colonne u3 :');


disp(u3);

disp('Matrice A :');
disp(A);

% Calcul de u1 + 3u2 - u3/5


resultat = u1 + 3*u2 - (u3/5);

% Afficher le résultat
disp('Résultat de u1 + 3u2 - u3/5 :');
disp(resultat);

% Calcul du produit scalaire entre u1 et u2


produit_scalaire = dot(u1, u2);

% Afficher le résultat
disp('Produit scalaire entre u1 et u2 :');
disp(produit_scalaire);

% Calcul du produit A*u1


produit_A_u1 = A * u1;

% Afficher le résultat
disp('Produit A*u1 :');
disp(produit_A_u1);

% Vecteur colonne u1
u1 = [1; 2; 3];

% Calcul de la norme ||u1||_2


norme_u1_2 = norm(u1, 2);

% Afficher le résultat
disp('Norme ||u1||_2 :');
disp(norme_u1_2);

% Vecteur colonne u2
u2 = [-5; 2; 1];

% Calcul de la norme ||u2||_1


norme_u2_1 = norm(u2, 1);

% Afficher le résultat
disp('Norme ||u2||_1 :');
disp(norme_u2_1);
% Vecteur colonne u3
u3 = [-1; -3; 7];

% Calcul de la norme ||u3||_{\infty}


norme_u3_infini = norm(u3, inf);

% Afficher le résultat
disp('Norme ||u3||_{\infty} :');
disp(norme_u3_infini);

% Dimensions de la matrice A
dimensions_A = size(A);

% Extraire le nombre de colonnes


nombre_colonnes_A = dimensions_A(2);

% Afficher les résultats


disp('Matrice A :');
disp(A);

disp('Dimensions de la matrice A :');


disp(dimensions_A);

disp('Nombre de colonnes de la matrice A :');


disp(nombre_colonnes_A);
% Calcul du déterminant de la matrice A
determinant_A = det(A);

% Vérifier si la matrice est inversible avant de calculer l'inverse


if determinant_A ~= 0
% Calcul de l'inverse de la matrice A
inverse_A = inv(A);
else
inverse_A = 'La matrice n''est pas inversible.';
end

% Afficher les résultats


disp('Matrice A :');
disp(A);

disp('Déterminant de la matrice A :');


disp(determinant_A);

disp('Inverse de la matrice A :');


disp(inverse_A);
% Résoudre le système A*x = u1 en utilisant la division gauche
solution_x1 = A \ u1;

% Afficher la solution
disp('Solution du système 1 A*x = u1 (division gauche) :');
disp(solution_x1);

% Résoudre le système A*x = u1 en utilisant la fonction linsolve


solution_x2 = linsolve(A, u1);

% Afficher la solution
disp('Solution du système 2 A*x = u1 (linsolve) :');
disp(solution_x2);
Script MATLAB Question 5

% Données d'entrée
A = [5/8, 1/4, 1/8; 1/4, 0, -1/4; 1/8, 1/4, 5/8];
b = [1; -1; 1];
u1 = [5; 2; -4];
nb_it = 10;

% Initialisation du vecteur U
U = zeros(length(u1), nb_it);

% Premier terme de la suite


U(:, 1) = u1;
disp(u1)
% Calcul des termes suivants de la suite
for n = 2:nb_it
U(:, n) = A * U(:, n-1) + b;
end

% Représentation graphique de l'évolution de chaque composante


figure;
for i = 1:length(u1)
subplot(length(u1), 1, i);
plot(1:nb_it, U(i, :), '-o');
title(['Composante ', num2str(i)]);
xlabel('n');
ylabel(['u', num2str(i), '(n)']);
grid on;
end

% Ajuster les espacements entre les sous-graphiques


spacing = 0.01;
subplot(length(u1), 1, 1);
h = title('Evolution de chaque composante de la suite u(n)');
set(h, 'Position', get(h, 'Position') - [0, spacing, 0]);
Script MATLAB Question 6

% Fonction pour générer une matrice aléatoire d'ordre quelconque


function A = GenereMatrice(n)
% Générer une matrice aléatoire de taille n x n
A = randn(n);
end

% Fonction pour générer et résoudre des systèmes linéaires aléatoires


function GenereSysteme(nb_systemes, taille_systeme)
disp('Génération et résolution de systèmes linéaires aléatoires :');

for i = 1:nb_systemes
% Générer une matrice aléatoire
A = GenereMatrice(taille_systeme);

% Générer un vecteur aléatoire


b = randn(taille_systeme, 1);

% Vérifier si le système est résolvable


if rank(A) == rank([A, b])
disp(['Système ', num2str(i), ' :']);
disp('Matrice A :');
disp(A);
disp('Vecteur b :');
disp(b);

% Résoudre le système
x = A \ b;

disp('Solution x :');
disp(x);
disp('------------------------');
else
disp(['Système ', num2str(i), ' :']);
disp('Le système est singulier (pas de solution unique)');
disp('------------------------');
end
end
end

% Appel de la fonction GenereSysteme avec des paramètres spécifiques


GenereSysteme(5, 3);
Script MATLAB Question 7

% Contenu du fichier GenereMatrice.m


function A = GenereMatrice(n)
% Générer une matrice aléatoire de taille n x n
A = randn(n);
End

% Contenu du fichier GenereSysteme.m


function GenereSysteme(nb_systemes, taille_systeme)
disp('Génération et résolution de systèmes linéaires aléatoires :');

for i = 1:nb_systemes
% Générer une matrice aléatoire
A = GenereMatrice(taille_systeme);

% Générer un vecteur aléatoire


b = randn(taille_systeme, 1);

% Vérifier si le système est résolvable


if rank(A) == rank([A, b])
disp(['Système ', num2str(i), ' :']);
disp('Matrice A :');
disp(A);
disp('Vecteur b :');
disp(b);

% Résoudre le système
x = A \ b;

disp('Solution x :');
disp(x);
disp('------------------------');
else
disp(['Système ', num2str(i), ' :']);
disp('Le système est singulier (pas de solution unique)');
disp('------------------------');
end
end
end

% Contenu du fichier script_principal.m


% Appel des fonctions GenereMatrice et GenereSysteme
GenereMatrice(5); % Exemple avec GenereMatrice
GenereSysteme(3, 3); % Exemple avec GenereSysteme

Vous aimerez peut-être aussi