Vous êtes sur la page 1sur 8

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