Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici

Les types de données supplémentaires

Les nombres complexes

1. Généralités

Un nombre complexe a la forme générale c = a + bi ou c = a +bj, où c est un nombre complexe, a et b sont tous deux des nombres réels, et i ou j est un nombre ayant la valeur √−1. Le nombre a est appelé la partie réelle et le nombre b est appelé la partie imaginaire du nombre complexe.

MATLAB représente les nombres complexes soit sous la forme algébrique (a+i*b) soit sous la forme exponentielle (rho*exp(i*theta)).

Les imaginaires purs i et j vérifient i2 = j2 = -1.

Pour plus de renseignements sur les fonctions MATLAB concernant les nombres complexes, vous pouvez consulter l’aide en ligne (help complex).

2. Variables complexes

Une variable de type complexe est créée automatiquement lorsqu’une valeur complexe est assignée à un identificateur. La façon la plus simple de créer une valeur complexe est d’utiliser la valeur intrinsèque i ou j ; par exemple, l’instruction suivante stocke la valeur complexe 1+3i dans la variable c1.

>> c1 = 1 + 3i 
c1 = 
   1.0000 + 3.0000i 

Le signe "*" (multiplication) entre la partie imaginaire et i n’est pas obligatoire.

La fonction isreal peut être utilisée pour déterminer si un tableau donné est réel ou complexe. Si un élément du tableau a une composante imaginaire, alors le tableau est de type complexe, et la fonction isreal renvoie 0, sinon elle retourne 1.

3. Opérations sur les nombres complexes

Les opérations arithmétiques et relationnelles appliquées sur les scalaires, telles que l’addition, la multiplication, l’élévation à une puissance et la division, peuvent être appliquées sur les nombres complexes.

Complexes - Exemple n° 1

Les opérations sur les nombres complexes.

% operations_sur_les_complexes 
close all; clear all; clc; 
 
fprintf(' Opérations...

Les chaînes de caractères

1. Généralités

Il arrive fréquemment que l’on ait besoin de manipuler non plus un simple caractère, mais toute une suite de caractères, que l’on nomme une chaîne.

Cette suite de caractères peut être exploitée de plusieurs façons :

  • Si on veut la manipuler caractère par caractère, la solution est dans ce cas facile à deviner : il suffit d’utiliser un tableau de caractères.

  • Si on veut exploiter cette suite dans son ensemble, il conviendrait alors d’utiliser une structure de données capable de regrouper cette suite en une seule variable pour la manipuler dans sa totalité.

Même si MATLAB est un langage de calcul scientifique de haut niveau, il offre également la possibilité de traiter des chaînes de caractères. Une chaîne MATLAB est toute suite de caractères placés entre guillemets. Elle est considérée comme un vecteur ligne de caractères. Chaque caractère est stocké dans deux octets de mémoire. Une variable de type chaîne est automatiquement créée lorsqu’une chaîne lui est attribuée.

Pour plus de renseignements sur les fonctions MATLAB concernant les chaînes de caractères, vous pouvez consulter l’aide en ligne (help strfun).

2. Opérations et fonctions de base sur les chaînes

Les opérations sur les chaînes sont les suivantes :

Lecture d’une chaîne

La commande input permet de demander à l’utilisateur d’un script de fournir une chaîne de caractères. Sous la forme standard déjà vue, il est impossible d’avoir une donnée de type chaîne de caractères. Un nouveau paramètre est donc ajouté à la commande pour qu’elle puisse lire une chaîne. La syntaxe de l’opération de lecture d’une chaîne est :

Lecture d’une chaîne - Syntaxe

var_chaine =  input(' une phrase ','s') 

  • var_chaine : la variable qui va recevoir la chaîne

  • une phrase : la phrase à afficher

Affichage

L’affichage d’une chaîne de caractères peut être effectué par :

  • la commande...

La gestion des dates et heures

1. Différents formats de dates et heures

Les dates, en MATLAB, peuvent être gérées sous différents formats :

  • chaînes de caractères,

  • nombres,

  • vecteurs.

Vous pouvez ajouter, soustraire, trier, comparer, concaténer et tracer des données de type date et heure.

MATLAB offre un ensemble de commandes et de fonctions qui manipulent les dates et les heures. Le tableau suivant en présente quelques-unes.

Fonction

Description

date

Retourne la date système sous forme d’une chaîne de caractères.

now

Retourne la date système sous la forme d’un seul nombre, dont l’entier inférieur correspond à la date du jour et le reste à l’heure système.

datestr(n)

Transforme une date en nombre sous forme d’une chaîne de caractères.

datenum(s)

Transforme la date sous forme d’une chaîne en date sous forme de nombre.

datevec(n)

Transforme une date en nombre sous forme d’une date en vecteur [année mois jour heure minute seconde].

clock

retourne la date et l’heure sous forme d’un vecteur [année mois jour heure minute seconde].

Date - Exemple n° 1

On souhaite écrire un programme modulaire permettant de saisir une date valide. Pour ce faire, développer les traitements suivants.

1. La fonction Bissextile, qui retourne VRAI si l’année est une année bissextile, FAUX sinon.

2. Le script MATLAB principal, qui permet de saisir la date et de vérifier si la date est bissextile ou non.

Fonction

function [ biss ] = Bissextile( d ) 
% La fonction permet de déterminer si une date valide est  
% bissextile (si l'année est bissextile, alors  
% le mois de février a 29 jours).  
% Une année bissextile est une année qui est divisible par 400  
% ou bien par 4 et non par 100. 
annee = year(d); 
biss = or((mod(annee,400)==0), (mod(annee,400)~=0 & mod(annee,4) ==0)); 
end 

Programme principal

% appel_Bissextile 
close all; clear all; clc; 
 
date_v = input('Donner une date valide : ','s'); ...