Tp matlab123 - analyse numérique avec matlab - télécharger p

Ce support pédagogique est destiné aux étudiants de la Faculté des Sciences, particulièrement au sein du Département de Mathématiques. Il propose un ensemble d'exercices pratiques conçus pour approfondir la maîtrise du logiciel MATLAB dans un contexte scientifique et algorithmique.

Le document aborde les thématiques essentielles suivantes :

  • Calculs arithmétiques et manipulations avancées des nombres complexes.
  • Gestion des matrices, des vecteurs et traitement des structures de données.
  • Programmation de scripts, utilisation des boucles et création de fonctions.
  • Visualisation de données via des tracés graphiques en deux et trois dimensions.
Tp matlab123 - analyse numérique avec matlab - télécharger p

Calculs sur les nombres complexes

Considérons les nombres complexes $z_1 = 1 + 2i$ et $z_2 = 3 - 5i$. Voici les opérations fondamentales réalisées sous MATLAB :

  • Addition : $z_1 + z_2 = 4.0000 - 3.0000i$
  • Soustraction : $z_1 - z_2 = -2.0000 + 7.0000i$
  • Division : $z_1 / z_2 = -0.2059 + 0.3235i$
  • Multiplication : $z_1 \times z_2 = 13.0000 + 1.0000i$
  • Puissance : $z_2^2 = -16.0000 - 30.0000i$

Manipulation de matrices complexes

Pour une matrice complexe $z$ définie par z = [1+i, 2-3i; 4+2i, 5-4i], MATLAB permet d'extraire les informations suivantes :

  • Partie réelle : real(z) renvoie les composantes réelles.
  • Partie imaginaire : imag(z) renvoie les coefficients de la partie imaginaire.
  • Conjugué : conj(z) inverse le signe de la partie imaginaire.
  • Module : abs(z) calcule la distance à l'origine pour chaque élément.

Manipulation des matrices et vecteurs sous MATLAB

Soit la matrice $A$ définie comme suit :

A = [6, 43, 2, 11, 87; 12, 6, 34, 0, 5; 34, 18, 7, 41, 9]

Les opérations d'extraction (slicing) permettent d'isoler des sous-ensembles de données :

  • va = A(2,:) : Extrait la deuxième ligne complète.
  • vb = A(:,4) : Extrait la quatrième colonne.
  • vc = A(1:2,:) : Extrait les deux premières lignes.
  • vd = A(:,[1,5]) : Extrait la première et la cinquième colonne.

Visualisation et graphisme

Tracé de courbes en 2D

Pour tracer une fonction mathématique telle que $y = \cos(2x) + 0.5 \sin(x/2)$, on utilise le code suivant :

x = -pi:pi/100:pi;
y = cos(2*x) + 0.5*sin(x/2);
plot(x,y)
grid on
title('Tracé de la courbe y')
xlabel('variable x')
ylabel('variable y')
  

Représentation de surfaces en 3D

La fonction meshgrid est indispensable pour définir un domaine de calcul sur un plan $(X, Y)$ avant de calculer la hauteur $Z$.

[X, Y] = meshgrid(-pi:pi/100:pi);
Z = sin(X.^2 + Y.^2) ./ (X.^2 + Y.^2);
mesh(Z)
  

Programmation : Boucles et Fonctions

Exemple de boucle For

Ce script remplace chaque entier pair d'un tableau par son carré :

tab = 0:2:42;
for i = 1:length(tab)
    tab(i) = tab(i)^2;
end
  

Fonction Factorielle

Une fonction robuste vérifie d'abord que l'argument est un entier positif avant d'effectuer le calcul :

function fact = factorielle(n)
    if ~((fix(n)==n) && (n>=0))
        error('Le nombre doit être un entier positif');
    end
    fact = prod(1:n);
end
  

Saturation d'un signal

Cette fonction permet de limiter l'amplitude d'un signal entre deux bornes définies :

function ul = sature(u, u_min, u_max)
    ul = (u >= u_max) .* u_max + (u <= u_min) .* u_min + ((u < u_max) & (u > u_min)) .* u;
end
  

FAQ

Comment calculer le module d'un nombre complexe sous MATLAB ?

Il suffit d'utiliser la fonction abs(z), où $z$ est votre nombre ou votre matrice complexe.

Quelle est l'utilité de la fonction meshgrid ?

Elle permet de transformer deux vecteurs de coordonnées en matrices de coordonnées, ce qui est nécessaire pour évaluer des fonctions de deux variables et tracer des surfaces en 3D.

Comment superposer deux courbes sur le même graphique ?

Utilisez la commande hold on après le premier tracé pour que MATLAB conserve la fenêtre active et y ajoute les tracés suivants.

Cela peut vous intéresser :

Partagez vos remarques, questions , propositions d'amélioration ou d'autres cours à ajouter dans notre site

Enregistrer un commentaire (0)
Plus récente Plus ancienne