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')
où
-
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'); ...