Ce document constitue le support du deuxième travail pratique de MATLAB, destiné aux étudiants du département de Mathématiques et d'Informatique de l'Université d'Alger 1. Il propose une série d'exercices progressifs visant à consolider les bases de la programmation scientifique et du calcul matriciel.
Il couvre les notions suivantes :
- Manipulation avancée de matrices et opérations vectorielles.
- Utilisation des fonctions logiques, de tri et de recherche.
- Résolution numérique de systèmes d'équations linéaires.
- Analyse de polynômes et approximation de fonctions par interpolation.
Guide Pratique de MATLAB : Manipulation de Matrices et Analyse Polynomiale
Ce guide propose une exploration structurée des fonctionnalités de MATLAB pour les étudiants et chercheurs, couvrant les opérations matricielles, le filtrage de données et la manipulation polynomiale.
Exercice 1 : Création de matrices et calculs de sommes
Initialisation et séquences
L'utilisation de séquences permet de générer rapidement des données. Par exemple, la commande 3 .^ (1:3) applique une puissance élément par élément, produisant le vecteur [3, 9, 27].
Pour construire la matrice A de manière efficace :
A = [1:7; 9:-2:-3; 4*2.^(0:6)]
Calcul de sommes matricielles
MATLAB permet de sommer des éléments de plusieurs manières :
- Somme par colonne : On utilise
sum(A)ou le produit matricielones(1,3) * A. - Somme totale : On peut combiner les fonctions
sum(sum(A))ou utiliserones(1,3) * A * ones(7,1)pour obtenir un scalaire unique.
Exercice 2 : Filtrage et suppression d'éléments
Manipulation de vecteurs
Pour nettoyer un vecteur de ses valeurs nulles, on utilise l'indexation logique. Si p = A==0 identifie les positions des zéros, l'instruction A(p) = [] les supprime instantanément. En une seule ligne, cela s'écrit : A(A==0) = [].
Exercice 3 : Tests logiques et conditions
Utilisation des fonctions any et all
Ces fonctions facilitent l'analyse globale des données :
any(A >= 3): Vérifie s'il existe au moins un élément supérieur ou égal à 3.all(A >= 1): Vérifie si la totalité des éléments respectent la condition.
Exercice 4 : Tri des données
La fonction sort
Le classement des données est essentiel en analyse :
As = sort(A): Trie le vecteur par ordre croissant.[As, I] = sort(A): Permet de récupérer les valeurs triées ainsi que leurs indices d'origine.sort(A, 'descend'): Effectue un tri par ordre décroissant.
Exercice 5 : Résolution de systèmes d'équations linéaires
Méthode de la division à gauche
Pour résoudre un système d'équations de type Ax = B, MATLAB propose l'opérateur antislash (\). Par exemple, pour le premier système :
A = [1 2; 3 4]; B = [5; 6]; X = A \ B
Cette approche est applicable aux systèmes 2x2, 3x3 ou 4x4 présentés dans l'exercice, garantissant une précision numérique optimale.
Exercice 6 : Construction de matrices par produit vectoriel
Il est possible de générer des matrices à motifs répétitifs en multipliant un vecteur colonne par un vecteur ligne. Par exemple, une matrice dont les lignes sont identiques peut être créée par ones(3,1) * (1:5).
Exercice 7 : Analyse des polynômes
Opérations sur les polynômes
Un polynôme est représenté par ses coefficients par ordre décroissant de puissance. Pour P(x) = x³ - 15x² - 24x + 360 :
- Racines : La commande
roots(P)permet de trouver les solutions de P(x) = 0. - Reconstruction : À partir des racines,
poly(r)retrouve les coefficients originaux. - Dérivée : La fonction
polyder(P)calcule automatiquement le polynôme dérivé.
Exercice 8 : Approximation de fonctions (Curve Fitting)
La fonction polyfit
L'approximation permet de modéliser des données complexes par un polynôme simple. En utilisant p = polyfit(x, y, n), MATLAB détermine le meilleur polynôme de degré n passant par les points x et y. Cela est particulièrement utile pour lisser des données expérimentales ou simplifier des fonctions trigonométriques comme le sinus.
FAQ
Comment supprimer des éléments spécifiques d'un vecteur ?
Il suffit d'utiliser l'indexation logique pour cibler les éléments et de leur affecter une matrice vide []. Par exemple : A(A < 0) = [] supprimera tous les nombres négatifs.
Quelle est la différence entre sum(A) et sum(A, 2) ?
Par défaut, sum(A) calcule la somme de chaque colonne. Pour obtenir la somme de chaque ligne, il faut spécifier la dimension avec sum(A, 2).
Comment superposer plusieurs graphiques sur MATLAB ?
Utilisez la commande hold on après le premier tracé (plot). Cela empêche MATLAB d'effacer la fenêtre graphique lors de l'ajout d'une nouvelle courbe.