Upload
khali54
View
220
Download
0
Embed Size (px)
Citation preview
8/18/2019 Calculs Et Représentations Graphique
1/57
Chapitre 2Calculs et représentationsgraphiques
2.1 Introduction
2.2 Erreurs assistées par ordinateur2.3 Représentation interne des nombres2.4 Arrondi2.5 Erreurs d’arrondi2.6 Ensemble des nombres gérés par
une machine2.7 Vecteurs2.8 Vecteurs « colonne »
2.9 Tableur
2.10 Interprétation géométrique duproduit scalaire2.11 Solution graphique d’équations2.12 Résumé2.13 Exemples2.14 Exercices2.15 Annexe – les séries de Fourier
2.1 IntroductionCe chapitre continue là où la section 1.2 s’était arrêtée. Le chapitre 1 est une introduction
rapide à MATLAB dans laquelle les exemples utilisent des mathématiques simples. Le cha-
pitre 1 ne contient pas d’applications d’ingénierie, et nous supposons que le lecteur sera fami-
liarisé avec les concepts utilisés. Les chapitres 2 à 10 constituent une introduction détaillée
à MATLAB destinée à un public d’ingénieurs. Ils comportent des exemples exclusivement
empruntés à des cas réels d’ingénierie. Certaines des notions mathématiques utilisées sont
rapidement introduites dans la partie principale des chapitres ou sont résumées à la fin des
chapitres correspondants.
2.2 Erreurs assistées par ordinateur
L’apparition des ordinateurs dans de nombreux domaines, aussi bien technologiques, scien-tifiques que privés, développe et alimente le mythe de ces machines capables de résoudre
tous les problèmes. Certaines personnes, et pas seulement des profanes, considèrent l’ordina-
teur comme un outil infaillible. D’autres trouvent en lui un parfait bouc émissaire. Vous avez
fait une erreur? Mettez la faute sur le compte de l’ordinateur ; il ne se défendra pas de cette
accusation.
La plupart des erreurs informatiques sont assurément des erreurs dues à l’utilisateur. Les
ordinateurs fonctionnent selon le principe dit GIGO (garbage in, garbage out - mauvaise
entrée égale mauvais résultats). Si vous alimentez l’ordinateur avec des données erronées,
vous obtenez de mauvais résultats. D’autres erreurs sont dues à une mauvaise programmation.
89
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
2/57
90 CHAPITRE 2 CALCULS ET REPRÉSENTATIONS GRAPHIQUES
Pour une écriture incorrecte de fonctions ou de commandes, on parle d’erreurs de syntaxe,mais, heureusement en général, l’ordinateur en détecte la plupart. Pour des calculs erronés, on
parle d’erreurs logiques, ou, plus familièrement, de bugs. Enfin, une autre source d’erreurs se
situe au niveau de la représentation des nombres dans l’ordinateur (voir sections suivantes).
Un exemple simple va nous aider à introduire le sujet. Nous savons que 1 − 5 × 0.2 = 0.Cependant, essayez ceci
format long, 1 - 0.2 - 0.2 - 0.2 - 0.2 - 0.2ans =
5.551115123125783e-017
Le résultat est un nombre très petit, mais n’est pas exactement zéro. Nous nous conten-
terons pour l’instant d’expliquer ce phénomène par une erreur machine due à l’utilisationdu système binaire, qui nécessite une infinité de bits pour la représentation du nombre 0.2.
Comme l’ordinateur ne peut stocker qu’un nombre limité de bits, il utilise une approximation
du nombre 0.2. Celle-ci multipliée par cinq, cette approximation n’est pas égale à 1. De telles
erreurs restent minimes, mais elles peuvent s’avérer désastreuses si elles s’accumulent dans
les calculs. Ne pas prendre en considération les propriétés des nombres dans un ordinateur
peut provoquer l’échec de très coûteux projets, en envoyant par exemple un vaisseau spatial
sur une mauvaise orbite.
2.3 Représentation interne des nombresDans la vie de tous les jours, nous utilisons le système décimal pour la représentation des
nombres. Dans ce système, la valeur de chaque chiffre dépend de sa position par rapport à la
virgule, par exemple, le nombre 124,32 correspond à
1× 102 + 2 × 101 + 4 × 100 + 3 × 10−1 + 2 × 10−2On dit alors que ce nombre est représenté selon le format à virgule fixe 1. Cette notation,
avec quatre chiffres après la virgule, est utilisée sous MATLAB comme visualisation par
défaut. Nous connaissons également la notation scientifique qui représente le nombre 124,32
par 1.2432× 102. Les ordinateurs d’aujourd’hui utilisent une adaptation de ce format scien-tifique appelé représentation à virgule flottante qui s’utilise comme suit avec MATLAB
format short e, x = 124.32x =
1.2432e+002
Nous pouvons revenir à la notation à virgule fixe par
format short, xx =
124.3200
1. Dans la version française de l’ouvrage, et pour éviter tout risque d’erreurs dû aux plates-formes d’installation de
MATLAB, nous avons conservé la notation anglo-saxonne et donc utilisé des points au lieu des virgules habituelles.
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
3/57
REPRÉSENTATION INTERNE DES NOMBRES 91
Pour obtenir plus de chiffres, utilisez
format long, xx =
1.243200000000000e+002
ou encore
format long e, xx =
1.243200000000000e+002
Les ordinateurs utilisent la représentation à virgule flottante, et non le système décimal. Ils
utilisent pour la plupart le système binaire. D’autres, comme les calculateurs IBM, utilisent
le système hexadécimal. Le système binaire ne dispose que de deux nombres 0 et 1. Comme
dans le système décimal, la valeur de chaque chiffre dépend de sa position par rapport à
la virgule – qu’il vaudrait mieux appeler point partiel – et utilise les puissances de 2. Par
exemple, la décomposition du nombre binaire 101.101 est
1× 22 + 0 × 21 + 1 × 20 + 1 × 2−1 + 0 × 2−2 + 1 × 2−3
La principale raison d’utiliser des nombres binaires réside dans leur correspondance directe
avec les états marche et arrêt de composants physiques, comme par exemple 1 pour désigner
un circuit fermé et 0 un circuit ouvert, ou alors 1 pour « magnétisé », 0 pour « démagnétisé ».
En résumé, les nombres sont représentés dans l’ordinateur sous la forme σmbe , où σ estle signe, soit + ou −, m, la partie fractionnaire, ou mantisse, b, la base du système numériqueet e l’exposant. Le nombre de chiffres qui composent m et b dépend des caractéristiques de
la machine.
En 1985, l’Institut des ingénieurs en électricité et électronique – un institut américain
plus connu sous le nom d’ IEEE (Institute of Electrical and Electronics Engineers) – publia
l’ IEEE Standard for Binary Floating Point Aritmetic (voir bibliographie, ANSI/IEEE Std
754-1985). Ce standard est entièrement implémenté sur la plupart des ordinateurs et partiel-
lement sur quelques autres. Par exemple, le VAX de DEC est un ordinateur qui n’utilise pas
l’arithmétique de l’IEEE. Dans le standard IEEE double précision, la mantisse est codée sur
53 bits et l’exposant sur 11.
Les deux fonctions MATLAB, realmax et realmin, nous permettent d’obtenir respecti-
vement le plus grand et le plus petit nombre pouvant être manipulé par l’ordinateur. Pour unordinateur qui utilise le standard IEEE, le résultat de ces fonctions est
realmaxans =
1.7977e+308
realminans =
2.2251e-308
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
4/57
92 CHAPITRE 2 CALCULS ET REPRÉSENTATIONS GRAPHIQUES
La variable MATLAB eps fournit une indication sur la précision en virgule flottante. Pardéfaut, elle correspond à la distance entre 1.0 et le plus grand nombre à virgule flottante
suivant. La commande suivante renvoie la valeur de eps
epseps =
2.2204e-016
Cette valeur dépend également des caractéristiques de la machine. La valeur de eps peut être
modifiée par l’utilisateur, mais perd, dans ce cas, sa signification initiale décrite précédem-
ment.
A présent, nous pouvons expliquer pourquoi l’ordinateur ne renvoie pas zéro lorsqu’il
soustrait cinq fois 0.2 à 1. La raison réside dans la traduction en binaire de la fraction 0.2 qui
est
0.00110011001100 . . . (2.1)
Cette représentation nécessite une infinité de chiffres. En conséquence, l’ordinateur fonc-
tionne avec une valeur approchée de 0.2. Soustraire cinq fois la valeur approchée de 0.2 à 1
ne peut donc donner exactement 0.
L’utilisation par l’ordinateur des nombres binaires peut mener à d’autres résultats inatten-
dus. D’autres erreurs peuvent être introduites par la conversion d’une représentation binaire
arrondie en une représentation décimale. Convertissons le nombre binaire de l’équation 2.1
en décimal pour illustrer cela
format long a = 1/2ˆ3 + 1/2ˆ4 + 1/2ˆ7 + 1/2ˆ8 + 1/2ˆ11 + 1/2ˆ12a =
0.19995117187500
2.4 Arrondi
Les opérations arithmétiques peuvent mener à un résultat comportant de nombreuses déci-
males. Par exemple, pour un cercle de diamètre, d = 1.2866, si l’on utilise l’approximationπ = 3.1416 on obtient un périmètre de
πd = 3.1416× 1.2866 = 4.04198256 (2.2)soit un nombre à huit décimales. Nous obtiendrons encore plus de décimales si nous
cherchons l’aire du cercle par
πd 2
4 =
3.1416× 1.286624
= 1.30010369042400
En fait, π comporte une infinité de décimales, ce qui est également le cas pour les résultatsd’opérations simples telles que 1/3, 1/9,ou
√ 2. Lorsque nous réalisons un calcul numérique,
nous ne pouvons utiliser qu’un nombre fini de décimales. Pour d’évidentes raisons pratiques,
on utilise peu de décimales dans les calculs manuels. Par exemple, π ≈ 3.1416, et plus
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
5/57
ERREURS D’ARRONDI 93
souvent π ≈ 3.14. Les ordinateurs peuvent prendre en compte plus de chiffres, mais toujoursen quantité finie. Par exemple, l’approximation de π donnée par MATLAB au format long est
π ≈ 3.14159265358979Pour utiliser une approximation avec seulement quatre décimales, nous pouvons éliminer les
chiffres à droite de la quatrième décimale, et ne retenir que 3.1415. Cette technique s’appelle
chopping (coupe) . Elle génère de grosses erreurs qui, accumulées dans une longue séquence
de calcul, peuvent aboutir à des résultats catastrophiquement erronés. Pour minimiser ces
erreurs, la plupart des ordinateurs utilisent l’arrondi au lieu de la coupe, par exemple π =3.1416 au lieu de 3.1415. Les règles d’arrondi utilisées pour les ordinateurs sont les mêmesque pour les calculs manuels, la plus simple est la suivante :
Pour arrondir un nombre à n chiffres, ajoutez la moitié de la base, soit b/2, au chiffreen position (n + 1) et supprimez tous les chiffres à droite de la position n.
Dans le système décimal, la règle de l’arrondi à n chiffres devient : si le chiffre (n + 1)
est strictement inférieur à 5, on conserve le nième chiffre, sinon on l’incrémente.
Voici quelques exemples avec MATLAB
1/9, 2.2222222222222222/4, 2/3, -2/3ans =
0.1111
ans =
0.5556
ans =0.6667
ans =
-0.6667
Essayez de refaire ces exemples en utilisant le format long.
2.5 Erreurs d’arrondi
Arrondir un nombre à n décimales, en suivant la règle décrite dans la section précédente,
produit une erreur de valeur absolue inférieure à b/2×b−n. Par conséquent, la valeur absoluede l’erreur dans l’approximation de π = 3.1416 est inférieure à ρ = 0.5
×10−4. En fait, en
supposant que la valeur de MATLAB de π est correcte, l’erreur vaut
E = pi - 3.1416E =
-7.3464e-006
L’erreur est en effet plus petite que l’erreur montrée ci-dessus. On utilise ici la définition
erreur = valeur réelle − valeur calculée
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
6/57
94 CHAPITRE 2 CALCULS ET REPRÉSENTATIONS GRAPHIQUES
Certains auteurs appellent cette erreur l’erreur absolue ; d’autres réservent le qualificatif absolu à la valeur absolue de l’erreur définie ci-dessus. Il est intéressant de comparer l’erreur,
ou erreur absolue, à la valeur réelle du nombre considéré, en calculant l’erreur relative par
la formule
erreur relative = erreur /(valeur réelle)
ou
erreur relative absolue = (erreur absolue)/(valeur réelle)
Dans notre exemple, on calcule l’erreur relative comme suit
E/pians =
-2.3384e-006
L’erreur relative s’exprime fréquemment en pourcentage, dans notre cas
100*E/pians =
-2.3384e-004
Il est facile de montrer que l’erreur absolue d’une somme ou d’une différence de deux
nombres est au plus égale à la somme des erreurs respectives des deux nombres. Considérons
deux nombres arrondis à n décimales près ; l’erreur absolue de leur somme ou différence est
inférieure à
0.5 ∗ 10−n + 0.5 ∗ 10−n = 10−n
L’analyse de produits ou quotients tient essentiellement compte de l’erreur relative. Nous
pouvons montrer que l’erreur relative absolue du produit ou du quotient de deux nombres est
inférieure à la somme de leurs erreurs relatives respectives. Considérons encore l’exemple de
l’équation 2.2
πd = 3.1416× 1.2866 = 4.04198256
ou, avec MATLAB
format long, circum = 3.1416*1.2866circum =
4.04198256
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
7/57
ERREURS D’ARRONDI 95
Avec le format short, les erreurs relatives respectives des deux facteurs sont
E1 = 0.5*10ˆ(-4)/3.1416E1 =
1.5915e-005
E2 = 0.5*10ˆ(-4)/1.2866E2 =
3.8862e-005
L’erreur relative respective du produit est donnée par E1 + E2 et l’erreur par
(E1 + E2)*circum ans =2.2141e-004
Il s’ensuit que seuls les trois premiers chiffres du produit sont fiables, les autres doivent
être éliminés. Une erreur particulièrement importante se produit par le mécanisme de l’annu-
lation c’est-à-dire en additionnant deux nombres quasiment égaux, mais de signes différents.
Entrez, par exemple, les nombres suivants
format long e b = 0.543210987654321*10ˆ2b =
5.432109876543210e+001 c = -0.543210987650001*10ˆ2c = -5.432109876500009e+001
Et maintenant testez l’addition
d = b + cd =
4.320028779147833e-010
Le résultat vrai est 4.3199 × 10−10. Les chiffres communs à b et à c s’annulent entreeux. Les deux nombres b, c possèdent 16 chiffres significatifs, le résultat seulement 5. Leschiffres commençant à la cinquième décimale de d sont donc « fabriqués » par l’ordinateur.
La simple analyse suivante montre qu’ils doivent être éliminés. L’erreur maximale attendue
pour les nombres b, c est de 0.5 × 10−15, et donc de 10−15 pour le résultat. On en conclutque le chiffre 5, à la cinquième place de la représentation en virgule flottante, ainsi que les
suivants ne sont pas fiables. Les erreurs relatives sont
0.5*10ˆ(-15)/bans =
9.2045e-018
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
8/57
96 CHAPITRE 2 CALCULS ET REPRÉSENTATIONS GRAPHIQUES
0.5*10ˆ(-15)/cans =
-9.2045e-018
10ˆ(-15)/dans =
2.3148e-006
L’erreur relative du résultat est plus grande que celles des nombres b et c d’un ordre de
grandeur 12.
2.6 Ensemble des nombres gérés par une machineComme nous l’avons expliqué dans les sections précédentes, l’ordinateur ne peut représenter
qu’un ensemble fini de nombres. Nommons cet ensemble M . Ces nombres n’étant pas uni-
formément distribués, il est possible de démontrer que la distance entre 2 nombres machine
consécutifs est plus faible au voisinage de zéro.
L’ordinateur ne peut accepter que les données appartenant à l’ensemble M . Pour tout autre
nombre, il utilisera donc comme approximation le nombre de M le plus proche. Un fait moins
évident est que des opérations effectuées sur des nombres de M peuvent donner un résultat
n’appartenant pas à cet ensemble. Dans ce cas encore, l’ordinateur approche le résultat par le
nombre machine le plus proche. En fonction du logiciel et de l’arithmétique de l’ordinateur,
certaines propriétés des nombres réels ne sont plus valables dans M. Nous le démontrerons
par quelques exemples lancés dans MATLAB, avec un ordinateur qui implémente l’arithmé-
tique IEEE. Entrons les nombres suivants
format long e, a = 0.123456789012345*10ˆ(-4)a =
1.234567890123450e-005
b = 0.543210987654321*10ˆ2b =
5.432109876543210e+001
c = -0.543210987650001*10ˆ2c =
-5.432109876500009e+001
Pour montrer que la commutativité n’est pas vérifée, essayez
d = a + b + cd =
1.234611090411242e-005
e = c + b + ae =
1.234611090411242e-005
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
9/57
ENSEMBLE DES NOMBRES GÉRÉS PAR UNE MACHINE 97
d - eans =
2.834290826125505e-015
Le calcul suivant montre que l’associativité n’est pas vérifiée.
d = ( a + b ) + cd =
1.234611090411242e-005
e = a + ( b + c )e =
1.234611090411242e-005 d - eans =
2.834290826125505e-015
Enfin, la distributivité est testée par
d = a*(b + c)d =
5.333368815145124e-015
e = a*b + a*ce =
5.333298906673445e-015
d - eans =
2.220446049250313e-016
Si a + = a, nous en déduisons habituellement que = 0. Cela ne reste pas forcément vraidans l’ensemble des nombres machine, par exemple
format long, epseps =
2.220446049250313e-016
1 + epsans =
1.00000000000000
Nous en resterons là pour les erreurs de calculs générés par l’ordinateur. Tout au long
de ce livre, nous indiquerons, si nécessaire, les sources d’erreurs potentielles. Pour appro-
fondir ce sujet, le lecteur peut se référer aux livres traitant d’analyse numérique, comme
par exemple Hartley et Wynn-Evans (1979), Hultquist (1988), Rice (1993) ou Gerald et
Wheatley (1994). Dans les sections précédentes, nous voulions alerter le lecteur sur les fai-
blesses de l’ordinateur et sur les pièges à éviter. Nous conclurons maintenant cette analyse
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
10/57
98 CHAPITRE 2 CALCULS ET REPRÉSENTATIONS GRAPHIQUES
sur une note rassurante : une programmation prudente produit de bons résultats. Remarquonsaussi que MATLAB – combiné à l’arithmétique IEEE – s’avère beaucoup plus efficace pour
minimiser les erreurs numériques que certains logiciels plus anciens. Nous avons traité avec
MATLAB plusieurs problèmes cités dans les ouvrages d’analyse numérique comme produi-
sant des erreurs machine. MATLAB donne les résultats corrects. Précisons que les résultats
donnés précédemment ont été obtenus avec MATLAB 5.2, sur un PC équipé d’un processeur
Pentium. S’il utilise une autre configuration matérielle, le lecteur peut obtenir des résultats
légèrement différents.
2.7 Vecteurs
Nous avons déjà utilisé la notion de vecteur en tant que segment de ligne orienté. Nous allons
désormais examiner les vecteurs dans le plan. Ainsi, F dans la figure 2.1 représente une
force, un déplacement, une vitesse ou une accélération (en général, nous utiliserons F pour
des forces et d’autres lettres pour des déplacements, vitesses ou accélérations). Les tableaux
peuvent être considérés comme la plus simple représentation de vecteurs. Par exemple, on
peut scinder le vecteur F de la figure 2.1 en deux composantes orthogonales, F x et F y.
On peut les définir dans MATLAB sous la forme d’un tableau dont les éléments sont les deux
composantes précédentes
F = [ F x F y ]
Comme nous l’avons montré à la Figure 2.2, la somme de deux vecteurs, P = [P x P y] etQ = [Q x Q y], est un vecteur R = [ R x R y] tel que
R x = P x + Q x
R y = P y + Q y
A titre d’exercice, entrez
P = [ 6 2 ] ; Q = [ 2 . 3 5 ] ;
R = P + Q
R =
8.3000 7.0000
Les sommes de vecteurs peuvent avoir une signification physique. Par exemple, lorsque
plusieurs forces agissent en un point d’un corps solide, on peut les remplacer par leur somme,
appelée la résultante. La vitesse réelle d’un avion en vol – c’est-à-dire la vitesse relative au
sol – correspond à la somme de sa vitesse relative à l’air et de la vitesse du vent. D’autres
exemples proviennent de l’ingénierie électrique avec l’utilisation des vecteurs pour représen-
ter les sommes de tensions et d’intensités.
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
11/57
VECTEURS 99
Figure 2.1 – Le vecteur F et ses composantes, F x et F y.
Figure 2.2 – Addition de vecteurs.
Le module du vecteur R se calcule selon le théorème de Pythagore
magn_R = sqrt(R(1)ˆ2 + R(2)ˆ2)
Le résultat obtenu est 10.8577. Si le vecteur est une vitesse, son module a pour valeur la
vitesse. L’angle entre l’horizon et le vecteur F s’obtient par
angle_R = atan2(R(2), R(1))
qui donne 0.7006 radians, c’est-à-dire 40.1434 degrés. Pour retrouver la composante hori-
zontale de R, entrez
R(1)
Procédez de même pour la composante verticale.
Comme vous pouvez le constater à la figure 2.3, le produit d’un vecteur F par un scalaireλdonne un vecteur dont les composantes sont celles de F multipliées par λ ; entrez par exemple
2*F, 3*F, 4*F
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
12/57
100 CHAPITRE 2 CALCULS ET REPRÉSENTATIONS GRAPHIQUES
et observez les résultats. Nous pouvons sans hésiter généraliser aux vecteurs à 3 dimensionscar nous vivons dans un monde tridimensionnel. Le terme vecteur est souvent utilisé pour
décrire des tableaux ; dans ce livre, on l’utilisera parfois de cette manière.
Figure 2.3 – Multiplication d’un vecteur par un scalaire.
2.8 Vecteurs « colonne »
Dans la section 1.2.1, nous avons défini les tableaux par une ligne contenant leurs éléments.
Dans la section précédente, nous avons introduit des vecteurs représentés par de tels tableaux :
on les appelle des vecteurs ligne. Les tableaux verticaux ont été introduits dans la sous-
section 1.2.3 ; voici un exemple
B = [ 7
2
4
6.9
1 0 ] ;
Des structures de ce type sont utilisées par exemple dans le transfert de mesures provenant
d’un système d’acquisition de données.
En algèbre linéaire, on utilise les tableaux verticaux pour la notation des systèmes
d’équations linéaires (voir chapitre 6). De plus, les tableaux « verticaux » comme B servent
également à représenter les composantes d’autres sortes de vecteurs que ceux mentionnés pré-
cédemment. Considérons tout d’abord un exemple de vecteur ligne ayant toutes ses compo-
santes de même nature. Par exemple, les composantes d’un vecteur de déplacement sont desdéplacements ; celles d’un vecteur vitesse sont des vitesses. Afin d’exploiter pleinement les
possibilités fournies par le calcul vectoriel (et également matriciel, comme nous le verrons
plus tard), il est pratique d’accepter aussi les vecteurs dont les composantes sont de natures
différentes. Ainsi, il devient naturel de considérer la vitesse et l’accélération d’un point
matériel comme les composantes d’un vecteur d’état de ce point x_ x
où x est la vitesse.
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
13/57
TABLEUR 101
Un autre exemple vient de l’analyse de la résistance à la flexion d’une poutre élastique.Dans ce cas, les valeurs de « déflexion », de « pente », de « force de cisaillement » et de
« moment de flexion » pour une partie donnée de la poutre sont considérées comme les
éléments d’un vecteur d’état qui caractérise cette partie. Les vecteurs, représentés par des
tableaux verticaux sont, à juste titre, appelés vecteurs colonne. Pour construire un vecteur
colonne, procédez comme cela est indiqué dans la sous-section 1.2.3 pour les tableaux verti-
caux. Il est possible de convertir les vecteurs ligne en vecteurs colonne, et inversement, par
transposition, comme mentionné à la sous-section 1.2.3. Les vecteurs de nombres complexes
possèdent deux transposées différentes (voir sous-section 1.4.6).
Tableau 2.1 – Une liste d’achats.
Numéro d’article Prix Quantité Sous totaux
1 3.00 3 9.00
2 1.99 2 3.98
3 10.99 1 10.99
4 9.15 5 45.75
5 1.29 2 2.58
Totaux – 13 72.30
2.9 Tableur
Supposons que nous voulions acheter un ensemble d’objets (voir tableau 2.1). Combien
devons-nous payer ? Ce calcul du prix total représente tout à fait le genre de tâches réaliséespar un tableur. MATLAB peut également le résoudre rapidement. Pour cela, nous devons tout
d’abord définir deux vecteurs
price = [ 3.00 1.99 10.99 9.15 1.29 ] ; quantity = [ 3 2 1 5 2 ];
Nous pouvons trouver le prix par objet en utilisant le produit vectoriel
subtotals = price.*quantitysubtotals =
9.0000 3.9800 10.9900 45.7500 2.5800
Remarquez l’utilisation du point suivi du signe de multiplication, ‘.*’.
La fonction MATLAB sum permet d’obtenir le coût total. En effet, appliquée à un vecteur,
elle retourne la somme de ses composantes
total = sum(subtotals)total =
72.3000
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
14/57
102 CHAPITRE 2 CALCULS ET REPRÉSENTATIONS GRAPHIQUES
La même fonction permet d’obtenir le nombre total d’objets achetés
tot_quantity = sum(quantity)tot_quantity =
13
A présent, nous pouvons compléter le tableau 2.1. Le résultat principal correspond au coût
total. Nous l’avons obtenu en combinant deux opérations : un produit vectoriel et la somme
des composantes (fonction sum ). Il est possible d’obtenir le même résultat en une seule étape
total = price*quantity’total =
72.3000
Ici, nous avons multiplié le vecteur ligne price par la transposée du vecteur quantity,
c’est-à-dire, par un vecteur colonne. Cette opération se nomme un produit scalaire et cor-
respond à
total = 3.00 × 3 + 1.99× 2 + 10.99× 1 + 9.15× 5 + 1.29× 2Le produit scalaire a une signification importante en géométrie et en mécanique. Quelques
exemples vous sont donnés dans ce qui suit.
2.10 Interprétation géométrique du produit scalaireLe produit scalaire de deux vecteurs, A = (a1, a2), B = (b1, b2), est défini par
A · B = a1b1 + a2b2 (2.3)Il est facile (voir exemple 2.2 et Fuller et Tarwater 1992, Pedoe 1988 ou Akivis et Goldberg
1972, page 12) de montrer que
A · B = |A||B| cos θ, (2.4)où |A| est le module du vecteur A, |B| celui du vecteur B et θ, l’angle entre les deux vecteurs.
Dans MATLAB, le produit scalaire de deux vecteurs ligne A et B se calcule en multi-
pliant A par la transposée de B, soit
inner_product = A*B’
ou en multipliant B par la transposée de A
inner_product = B*A’
La commutativité du produit scalaire se déduit de sa définition. Le fait d’utiliser la trans-
posée d’un vecteur B, et non pas directement le vecteur B dans le produit scalaire, est évident
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
15/57
INTERPRÉTATION GÉOMÉTRIQUE DU PRODUIT SCALAIRE 103
pour ceux qui sont familiers de l’algèbre linéaire. Pour les autres, les choses s’éclaircirontaprès la lecture du prochain chapitre. A titre d’exemple, calculons le produit scalaire de
A = (2, 3), B = (5, 4); soit
A · B = 2 × 5 + 3 × 4 = 22 (2.5)Nous obtenons ce produit en écrivant
A = [ 2 3 ] ; B = [ 5 4 ] ; A*B’
Vérifiez que vous obtenez le même résultat en entrant
B*A’
Voici le détail du calcul
A · B = 2 3 54
= 22 (2.6)
Que se passe-t-il pour le produit scalaire de deux vecteurs colonne, par exemple le produit
scalaire de At = A et Bt = B ? Afin d’obtenir le même type de calcul que pour l’équation 2.6,
nous devrons calculer le produit en entrant At’*Bt.
D’après les équations 2.3 et 2.4, nous constatons que le module d’un vecteur est égal à la
racine carrée du produit scalaire du vecteur multiplié par lui-même. Puis, de l’équation 2.4,que l’angle entre les deux vecteurs A et B définis ci-dessus peut s’obtenir avec
theta = acos(A*B’/(sqrt(A*A’)*(sqrt(B*B’)))
avec pour résultat 0.3081 radians.
Le passage aux vecteurs tridimensionnels est évident, et pour C = (c1, c2, c3), D =(d 1, d 2, d 3), le produit scalaire devient
C · D = c1d 2 + c2d 2 + c3d 3 = |C||D| cos θ (2.7)où |C| est le module de C, |D| celui de D et θ l’angle entre les deux vecteurs (Pedoe 1988).Prenons comme exemple de vecteurs à trois dimensions C = (2, 2, 2) et D = (3, 4, 5) etcalculons
C = [ 2 2 2 ] ; D = [ 3 4 5 ] ; theta = acos(C*D’/(sqrt(C*C’)*sqrt(D*D’)))
Le résultat est 0.2014 radians, soit 11.5370 degrés. Vérifiez que vous pouvez aussi bien écrire
D*C’ à la place de C*D’. Pouvez-vous trouver d’autres utilisations au produit scalaire ? Que
pourrait être la signification du produit scalaire de vecteurs qui ont plus de trois composantes?
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
16/57
104 CHAPITRE 2 CALCULS ET REPRÉSENTATIONS GRAPHIQUES
2.11 Solution graphique d’équationsOn appelle équations transcendantales les équations dont l’inconnue apparaît comme l’ar-
gument d’une fonction transcendantale, telle qu’une fonction exponentielle, un logarithme ou
une fonction trigonométrique. En voici quelques exemples simples
e x + x = 0
ln x + x = 0
sin x + cos x = 0
Les problèmes d’ingénierie mènent souvent à des équations transcendantales qui échappent
aux solutions analytiques. Parfois, il est même impossible de formuler l’équation, et tout ce
qui peut être fait se limite soit à calculer les points d’une courbe pour faire l’approximation
de son point de passage à la valeur zéro, soit à calculer les points de deux courbes et àrechercher leur intersection. Les outils MATLAB présentés jusqu’à présent nous permettent
de trouver facilement les solutions graphiques d’équations transcendantales ou de problèmes
qui ne pouvent être définis que numériquement.
Prenons l’exemple d’un problème qui mène à une équation transcendantale, soit le seg-
ment de cercle de la figure 2.4. Etant donné le rayon du cercle, r = OA = OB, et l’angle au
centre, Φ = AOB, nous calculons l’aire du segment fermé par l’arc ACB et la corde AB par A =
r 2
2 (φ− sin φ) (2.8)
Figure 2.4 – Un segment de cercle.
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
17/57
SOLUTION GRAPHIQUE D’ÉQUATIONS 105
Etant donné une aire A et un rayon r , supposons que l’on cherche une méthode généralepour trouver l’angle φ. Une bonne façon de faire consiste à diviser les deux membres del’équation 2.8 par r 2 : les deux côtés n’ont alors plus de dimension.
A
r 2 =
φ− sinφ2
(2.9)
Pour obtenir graphiquement toutes les solutions de l’équation 2.9, entrez la séquence de
commandes suivante
phi = 0 : pi/180 : 2*pi; x = 180*phi/pi; y = (phi - sin(phi))/2; plot(x, y), grid xlabel(’Angle at centre, \phi, degrees’) ylabel(’A/rˆ2’)
Ci-dessus, \phi est une commande LATEX qui affiche la lettre grecque φ.
Figure 2.5 – Calcul de l’aire d’un segment de cercle.
La figure 2.5 nous montre le graphique obtenu. Remarquez que, bien que l’aire des
segments soit une fonction de deux variables, l’utilisation de paramètres non dimension-
nels nous permet de représenter la relation entre A, r et φ par une simple courbe. Si nous
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
18/57
106 CHAPITRE 2 CALCULS ET REPRÉSENTATIONS GRAPHIQUES
nous intéressons à un cas particulier, nous pouvons procéder différemment. Soit r = 2 m et A = 0.0472 m2 ; traçons le graphe des deux courbes
y1 = (Φ− sinΦ)/2 y2 = A/r 2
et cherchons leur intersection, via les instructions suivantes
r = 2; A = 0.0472; phi = 0 : pi/360 : pi/4; x = 180*phi/pi; y1 = (phi - sin(phi))/2; y2 = A/rˆ2*ones(size(y1)); plot(x, y1, x, y2), grid xlabel(’Angle at centre, \phi, degrees’)
Pour étiqueter les courbes, utilisez la fonction gtext
gtext(’(\phi - sin(\phi))/2’)
Avec la souris (ou les touches de déplacement), déplacez la flèche jusqu’à l’endroit désiré
pour placer l’étiquette et appuyez sur Entrée. Procédez de même pour l’autre courbe avec
gtext(’A/rˆ2’)
Voyez le résultat à la figure 2.6.
Vous pouvez à présent lire la solution à l’intersection des deux courbes. Une meilleure
solution repose sur l’utilisation de la fonction ginput. Avec la souris (ou les touches de
déplacement), déplacez la flèche jusqu’à l’intersection et tapez Entrée.
[phi0 y0 ] = ginput(1)phi0 =
29.8669
y0 =
0.0119
Le résultat peut être légèrement différent, il dépend de votre appréciation propre du point
d’intersection. La fonction ginput retourne deux valeurs [ phi0 y0 ]. Vérifiez la solution
par
A0 = y0*rˆ2A0 =
0.0477
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
19/57
RÉSUMÉ 107
Figure 2.6 – Recherche de solution à l’intersection de deux graphes.
Avec ces valeurs, l’erreur en pourcentage par rapport à la valeur juste, est
error = 100*(A - A0)/Aerror =
-0.9577
Le résultat peut être amélioré en agrandissant les graphiques, c’est-à-dire en tracant y1et y2 pour des valeurs de Φ qui appartiennent à un intervalle restreint au voisinage de la
solution précédente.
2.12 RésuméNous pouvons utiliser l’ordinateur comme un calculateur avec les opérateurs listés dans le
tableau 2.2.
Nous allons décrire comment modifier les commandes et les rappeler. Sous UNIX, cer-
taines commandes peuvent être différentes, l’utilisateur devra donc consulter le manuel
approprié. La touche Effacement permet de corriger immédiatement les erreurs lors de la
saisie d’une expression.
Les expressions entrées précédemment peuvent être rappelées par les touches de dépla-
cement Flèche haute ↑ et Flèche basse ↓. Les touches Flèche droite → et Flèche gauche ←
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
20/57
108 CHAPITRE 2 CALCULS ET REPRÉSENTATIONS GRAPHIQUES
permettent de déplacer le curseur sur la ligne courante. L’éditeur est normalement en modeinsertion, ce qui signifie que le caractère entrés’insère à l’endroit où est positionné le curseur.
Sur les PC, on utilise la touche Insert pour passer du mode insertion au mode écrasement.
Enfin la touche Suppr. efface le caractère à l’endroit où est positionné le curseur.
Tableau 2.2 – Opérateurs élémentaires.
Operateur Utilisation Exemple
+ Addition 2 + 2 = 4
− Soustraction 2 - 2 = 0
* Multiplication 2*2 = 4
/ Division droite 2/2 = 1
\ Division gauche 2\4 = 2^ Puissance 2 2̂ = 4
MATLAB possède de nombreuses fonctions scientifiques dont un extrait est présenté au
tableau 2.3. Dans une expression, le nom d’une fonction doit être suivi de son argument
placé entre parenthèses. Les arguments de fonctions trigonométriques doivent être donnés en
radians.
Tableau 2.3 – Quelques fonctions scientifiques.
Nom de la fonction Signification Exemple
sin sinus sin(0.5) = 0.4794cos cosinus cos(0) = 1
tan tangente tan(pi/4) = 1.0000
asin arcsinus asin(sqrt(2)/2) = 0.7854
acos arccosinus acos(sqrt(2)/2) = 0.7854
atan arctangente atan(1) = 0.7854
atan2 arctangente complexe (4-quadrants) atan2(1,0) = 1.7508
exp exponentielle exp(1) = 2.7183
log logarithme népérien log(2.7183) = 1.0000
log10 logarithme de base 10 log10(350) = 1.5441
Il est préférable de donner un nom aux valeurs d’utilisation fréquente. Ce nom devracommencer par une lettre et pourra comporter autant de chiffres et de lettres que vous le
souhaitez. Seuls les 19 premiers caractères sont significatifs. Si aucun nom n’est attribué à
une expression, son résultat est stocké dans la variable ans, qui peut ainsi être employé pour
le calcul suivant. Le contenu de ans change à chaque nouvelle exécution de commande.
On peut définir un vecteur ligne de dimension n en entrant
vector_name = [ a1 a2 ... an ]
où a1, a2, . . . , an sont les composantes.
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
21/57
RÉSUMÉ 109
Un vecteur colonne se définit par
vector_name = [ a1
a2
...
an ]
ou par
vector_name = [ a1; a2; ...; an ]
La transposition est une opération qui transforme un vecteur ligne en un vecteur colonne
et vice versa. Pour calculer la transposée d’un vecteur dans MATLAB, on utilise l’opérateur
apostrophe (’)
[ a1 a2 ... an ]’ = a1
a2
...
an
Reportez-vous au chapitre 4 pour la transposition de vecteurs de nombres complexes.
Deux vecteurs, A et B, de mêmes dimensions, peuvent être additionnés (ou soustraits)
en écrivant A+B (ou A-B), et un vecteur A peut être multiplié par un scalaire lambda en
entrant lambda*A. Un vecteur ligne A peut être multiplié par un vecteur colonne B de même
taille : A*B. Le résultat est leur produit scalaire. Le produit élément par élément, A.*B, dedeux vecteurs de même longueur n, est un vecteur de longueur n dont les composantes sont
les produits aibi des composantes de A et B. Le tableau 2.4 décrit les opérateurs vectoriels
utilisés dans MATLAB.
Tableau 2.4 – Opérateurs élément par élément.
Opérateur Utilisation Exemple
.* Multiplication [ 2 3 ] .* [ 2 4] = [ 4 12 ]
./ Division [ 2 3 ] ./ [ 2 4 ] = [ 1 0.7500 ]
.^ Puissance [ 2 3 ] . ^ 2 = [ 4 9 ]
Enfin, MATLAB dispose de fonctionnalités graphiques. Le graphe d’une variable y en
fonction d’une variable x s’obtient par la commande
plot(x, y)
Nous pouvons ajouter une grille, un titre et étiqueter les axes du graphe par les commandes
grid, title(’t’), xlabel(’xl’) et ylabel(’yl’), où t, xl et yl sont des variables
de type chaîne de caractères de votre choix. Les variables de type chaîne de caractères
doivent être placées entre quotes.
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
22/57
110 CHAPITRE 2 CALCULS ET REPRÉSENTATIONS GRAPHIQUES
2.13 Exemples
EXEMPLE 2.1 Vecteurs
Un vecteur peut définir un point, dans le sens où chaque composante représente une coordon-
née de ce point. Ainsi, pour la figure 2.7, nous pouvons écrire
A = [ 2 3 ] ; B = [ 4 . 1 4 . 5 ] ;
Figure 2.7 – Deux points dans le plan.
La distance entre les deux points A et B s’obtient par
d ( AB) =
(2 − 4.1)2 + (3 − 4.5)2 = 2.5807 (2.10)
qui se calcule avec MATLAB avec
dist_AB = sqrt(sum((A - B).ˆ2))
ou, de manière plus élégante, avec
dist_AB = sqrt((A - B)*(A - B)’)
EXEMPLE 2.2 Vecteurs
Considérez les deux vecteurs suivants
– A de module 5 et d’un angle de 15◦ avec l’horizontale
– B de module 8 et d’un angle de 45◦ avec l’horizontale
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
23/57
EXEMPLES 111
Nous décomposons ces vecteurs selon leurs composantes horizontales et verticales enentrant
alpha = pi*15/180 ; beta = pi*45/180 ; A(1) = 5*cos(alpha); A(2) = 5*sin(alpha); B(1) = 8*cos(beta) ; B(2) = 8*sin(beta) ;
Le produit scalaire de deux vecteurs A et B est égal à
A·
B = 5·
cosα ·
8·
cosβ
+5 · sin α · 8 · sin β = |A||B| cos(β − α) .
Ce résultat, de valeur numérique 34.6410, est identique à celui de l’équation 2.4. L’angle
entre les deux vecteurs est de 45◦− 15◦ = 30◦. Avec MATLAB, nous obtenons ce résultat entapant
(180/pi)*acos(A*B’/(sqrt(A*A’)*sqrt(B*B’)))
ce qui donne bien 30 degrés.
EXEMPLE 2.3 Bases orthonormales
Considérons les trois vecteurs suivants
e1 = [ 1 0 0 ] ; e2 = [ 0 1 0 ] ; e3 = [ 0 0 1 ] ;
Le produit scalaire de deux de ces vecteurs, nommés ei et e j, est égal à 1 si i = j, et 0 si
i
= j . Nous pouvons vérifier cette propriété avec les commandes
e1*e1’, e2*e2’, e3*e3’ans =
1
ans =
1
ans =
1
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
24/57
112 CHAPITRE 2 CALCULS ET REPRÉSENTATIONS GRAPHIQUES
et
e1*e2’, e2*e3’, e3*e1’ans =
0
ans =
0
ans =
0
On dit que les trois vecteurs e1, e2, e3 forment une base orthonormale ou orthonormée
d’un espace à trois dimensions. La figure 2.8 donne une interprétation géométrique d’une
telle base.
Figure 2.8 – Bases orthonormales.
N’importe quel vecteur A de l’espace à trois dimensions peut être représenté de manière
unique comme la combinaison linéaire des vecteurs de base e1, e2, e3 où le signe ‘+’ signifie
l’addition de vecteurs.
A = a1e1 + a2e2 + a3e3
Le produit scalaire du vecteur A par un vecteur de base ei donne la projection de A selon
la direction de ei. Par exemple, en utilisant la base définie ci-dessus.
A = [ 2 3 4 ] ; A*e1’, A*e2’, A*e3’ans =
2
ans =
3
ans =
4
La généralisation de ces notions à un espace à n dimensions est simple. Cet exemple peut
aider à comprendre la signification des projections géométriques et celle de la transformée
discrète de Fourier.
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
25/57
EXEMPLES 113
EXEMPLE 2.4 Probabilités
Lançons une paire de dés. Le nombre de combinaisons possibles est de 62 = 36. Intéressons-
nous à la somme des nombres obtenus. C’est une variable aléatoire discrète, X , qui peut
prendre les valeurs 2, 3, . . . ,12. Il existe seulement une possibilité d’obtenir la somme 2 : enlançant 1, 1. Ainsi, la probabilité d’obtenir 2 est p(1) = 1/36. La somme 3 peut être obtenueen lançant soit 1, 2, soit 2, 1. La probabilité correspondante est p(2) = 2/36. En continuant ceraisonnement, nous obtenons les valeurs du tableau 2.5 (voir, par exemple, Lipschutz 1965).
La moyenne de X , également appelée espérance de X , est, par définition,
E ( X ) =
12i=1
X i p( X i) . (2.11)
Tableau 2.5 – Somme de deux dés.
Somme Probabilité
X p( X )
2 1/36
3 2/36
4 3/36
5 4/36
6 5/36
7 6/36
8 5/36
9 4/36
10 3/36
11 2/3612 1/36
Nous entrons le vecteur des sommes par
X = 2 : 1 2 ;
et le vecteur de probabilités est le suivant
p = [ 1 2 3 4 5 6 5 4 3 2 1 ] / 3 6 ;
La moyenne se calcule comme un « produit scalaire »
X*p’ans =
7
Nous savons que nous devons obtenir un des résultats du vecteur X. Ainsi, la somme
de toutes les probabilités est 1, la probabilité est alors certaine. Essayez sum(p). Il serait
intéressant de tracer la distribution de X . La fonction plot renvoie un graphe continu bien
que X ait une distribution discrète. La fonction bar crée un histogramme dont la hauteur des
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
26/57
114 CHAPITRE 2 CALCULS ET REPRÉSENTATIONS GRAPHIQUES
colonnes, respectives pour chaque valeur de X, est proportionnelle à p. Essayez la commandebar(X, p) et observez le résultat.
EXEMPLE 2.5 Séries de Fourier
Etant soumise aux conditions décrites dans l’annexe de ce chapitre, une fonction périodique
sur l’intervalle −∞ à +∞ peut être développée en séries de Fourier (Baron Joseph Fourier,1768-1830). Les séries de Fourier (voir, par exemple, Wylie et Barrett 1987 ou Ramirez 1985)
possèdent un nombre infini de termes. Sur un ordinateur, cependant, on ne peut générer qu’un
nombre fini de termes. Par conséquent, on peut synthétiser uniquement des approximations
de fonctions périodiques. Considérons une onde carrée, symétrique au voisinage de t = 0.
Elle se décompose en séries de Fourier de la manière suivante
x(t ) = 4 Aπ
(cosωt − 13
cos 3ωt + 15
cos 5ωt − 17
cos 7ωt + · · ·) (2.12)où A est l’amplitude de l’onde et ω sa fréquence angulaire. Il est également habituel dedéfinir A comme la moitié de l’amplitude pic à pic. Nous pourrons approcher l’onde carrée
symétrique par une série tronquée contenant seulement trois termes. L’erreur générée par
l’utilisation d’un nombre fini de termes d’une série infinie est nommée erreur de troncature.
Soit A = 1, ω = 2π, la période d’onde est alors égale à T = 2π/ω = 1. Les commandesMATLAB correspondantes sont
t = - 2 : 0 . 0 5 : 2 ; omega = 2*pi; x1 = cos(omega*t); x2 = -cos(3*omega*t)/3; x3 = cos(5*omega*t)/5 ; x = 4*(x1 + x2 + x3)/pi; plot(t, x), grid title(’Three-term approximation of the square wave’) xlabel(’t’)
Après avoir écrit l’expression pour x1, vous pouvez obtenir facilement les deux termes
suivants en utilisant la touche direction (flèche haute) ↑ pour récupérer l’expression précé-dente et l’éditer. Lancez les commandes et observez la forme, l’amplitude et la période de
l’onde résultante. La figure 2.9 montre le graphe obtenu. Vous pouvez améliorer l’approxi-
mation en ajoutant plus de termes mais à ce stade, cette opération est fastidieuse. Avec
quelques notions de programmation, vous pourrez facilement réaliser ces calculs, en écri-vant par exemple une boucle FOR, pour utiliser autant de termes que vous le désirez, mais
toujours en nombre fini.
Un autre élément remarquable concerne le graphe qui semble « cassé », car il est constitué
de segments de droites connectant les points calculés. On peut améliorer la résolution en
prenant plus de points, par exemple en utilisant
t = - 2 : 0 . 0 1 : 2 ;
et en relançant les autres commandes.
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
27/57
EXEMPLES 115
Figure 2.9 – Séries de Fourier tronquées.
Essayez d’autres formes d’onde en utilisant les séries décrites dans divers ouvrages,comme par exemple Ramirez (1985) ou Spiegel (1968). Pour plus de détails, voir égale-
ment Churchill et Brown (1990). Nous avons traité ici la synthèse d’une fonction périodique ;
le problème inverse, la décomposition d’une fonction périodique en termes trigonométriques
simples, peut également s’étudier avec MATLAB.
EXEMPLE 2.6 Définition de constantes, ingénierie mécanique
Supposons que dans un projet, nous ayons besoin d’un élément tubulaire et que nous choi-
sissions, à partir du BS 6323 (abréviation de British Standard 6323, voir bibliographie), un
tube de diamètre extérieur D = 139.7 mm, et d’épaisseur t = 6.3 mm. La plupart des pro-priétés de ce tube sont standards. Calculons-les cependant avec MATLAB. En se référant à
la figure 2.10, nous définissons les constantes
D = 139.7; t = 6 . 3 ;
Par conséquent, le diamètre intérieur, exprimé en mm, vaut
d = D - 2 * td =
127.1000
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
28/57
116 CHAPITRE 2 CALCULS ET REPRÉSENTATIONS GRAPHIQUES
Figure 2.10 – Section d’un tube.
Si nous utilisons le tube comme tuyau, pour déterminer le débit correspondant, nous cal-
culons l’aire de la section interne, en mm 2, par
A = pi*dˆ2/4
A =1.2688e+04
Si nous nous intéressons au transfert de chaleur à travers la paroi du tuyau, nous avons
besoin de la surface externe, que nous obtenons, en mm 2, en calculant la circonférence exté-
rieure
p = pi*Dp =
438.8805
et en la multipliant par la longueur du tuyau. Si nous utilisons le tuyau comme élément d’unestructure, chargé en tension ou en compression, nous nous intéressons à la surface de section
de la paroi, que nous obtenons, en mm2, par l’opération suivante
a = pi*(Dˆ2 - dˆ2)/4a =
2.6403e+03
Pour vérifier les paramètres de sécurité relatifs à la déformation, nous calculons le moment
d’inertie, en mm4, par
I = pi*(Dˆ4 - dˆ4)/64I =
5.8862e+06
La résistance en flexion est obtenue par le module de résistance, en mm3
Z = 2*I/DZ =
8.4269e+04
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
29/57
EXEMPLES 117
Remarquez le symbole W utilisé dans beaucoup de pays européens pour désigner lemodule de résistance. Finalement, la masse du tuyau en kilogrammes par mètre de longueur
s’obtient par
m = (a/1000)*7.85 m =
20.7260
Pourquoi diviser a par 1 000 ? En voici une explication
a mm2
× 1
103
m
mm2
×7.85
t
m3
×1000
kg
t
= a
1000 ×7.85
× kg
m
EXEMPLE 2.7 Moment, centres de gravité
La figure 2.11 montre, à l’échelle, un système de masses colinéaires. Les masses sont données
en kg et les distances en mm, mesures standards des dessins de mécanique. Nous voulons
obtenir le centre de gravité de ce système. Nous commençons par définir les vecteurs
mass = [ 35 65 45 75 ]; distance = [ 400 580 800 1000 ] ;
Figure 2.11 – Un système de masses colinéaires.
Le produit du tableau ci-dessous donne le vecteur de moments par rapport aux axes de
référence de la figure
moments = mass.*distance
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
30/57
118 CHAPITRE 2 CALCULS ET REPRÉSENTATIONS GRAPHIQUES
avec les éléments 14 000 ; 37 700; 36 000; 75 000. Le produit scalaire permet d’obtenir lemoment total
t_moment = mass*distance’
de résultat 162 700 kg mm. La masse totale s’obtient à l’aide de la fonction sum
M = sum(mass)
soit 220 kg. Le centre de gravité du système de la figure 2.11 correspond, par définition, au
point de concentration de la masse totale M , de moment égal à la somme des moments des
masses données, soit
cg = t_moment/M
ce qui donne 739.5455 mm. Nous aurions obtenu le même résultat directement avec
cg = mass*distance’/sum(mass)
ou
cg = distance*mass’/sum(mass)
EXEMPLE 2.8 Ouverture d’une porte fermée par un cylindre pneumatique
Dans la section 2.11, nous avons vu comment utiliser MATLAB pour la résolution d’équa-
tions transcendantales. L’exemple suivant représente une application de cette méthode à l’in-
génierie mécanique. La figure 2.12 montre une porte fermée par un cylindre pneumatique. Le
gond est en H. Si la surface de section du cylindre est A et la pression initiale p0, la force p0 A
s’exerce sur la porte par le biais d’un roulement monté à l’extrémité de la tige du piston.
Supposons que quelqu’un tire la porte avec une force F de direction donnée par la figure,
et que la porte s’ouvre alors d’un angle α. Nous voulons obtenir la valeur de cet angle. Laforce F pousse le piston à une distance
c = b tanα
Le volume d’air dans le cylindre est réduit à V = A(l0−c). Le mouvement est trop rapide pourpermettre des échanges de chaleur. Les processus qui ne génèrent aucun transfert de chaleur
sont dits adiabatiques. La propagation du son, le démarrage d’un moteur Diesel et l’onde de
choc produite par une explosion en sont quelques exemples. La relation entre la pression p et
le volume V dans un processus adiabatique est
pV χ = cad
avec χ appelé exposant adiabatique et cad constante.
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
31/57
EXEMPLES 119
Figure 2.12 – Une porte fermée par un cylindre pneumatique. (a) Porte fermée ; (b) porte ouverte.
Si nous appliquons ces notions à notre exemple, nous pouvons établir la relation suivante
entre le nouveau volume V et la pression p, et les valeurs initiales, V 0 et p0
pV χ = p0V χ0
et
p = p0
l0
l0 − cχ
Le moment « d’ouverture » correspond à
M O = Fa cosα
et le moment « redresseur » à
M R = Apb
Au point d’équilibre statique, les moments d’ouverture et redresseur sont égaux. Ce phéno-
mène se produit quand l’équation suivante est satisfaite
Fa cosα = bAp0
l0
l0 − b tan αχ
(2.13)
Cette équation en α peut paraître plutôt décourageante. Cependant, elle peut être résolue
assez facilement. Pour le démontrer, prenons les valeurs suivantes
a = 0.8 ; % m, largeur de la porte b = 0.25 ; % m, bras de levier du piston A = pi*0.04ˆ2; % mˆ2, section du piston p0 = 0.1*10ˆ5; % N/mˆ2 l0 = 0.50; % m, longueur du cylindre ouvert chi = 1.4 ; % exposant adiabatique
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
32/57
120 CHAPITRE 2 CALCULS ET REPRÉSENTATIONS GRAPHIQUES
Nous traçons à présent séparément les courbes des moments d’ouverture et redresseur
alpha = 0 : pi/90 : pi/6; % angle d’ouverture, rad c = b*tan(alpha); % mouvement du piston, m p = p0*(l0*ones(size(alpha))./(l0 - c)).ˆchi P = 25; % N, force manuelle left = P*a*cos(alpha).ˆ2; % moment d’ouverture right = b*A*p ; % moment redresseur angle = 180*alpha/pi; % angle d’ouverture, degrés h = plot(angle, left, angle, right, ’ :’), grid xlabel(’angle, degree’), ylabel(’Moments, Nm’)
legend(h, ’Opening moment’, ’Restoring moment’)
Ci-dessus, nous avons utilisé deux commandes MATLAB introduites dans la version 5.2.
Nous avons assigné à la variable h le handle de l’objet graphique produit par la commande
plot. Nous utilisons ce handle comme premier argument de la commande legend. Les autres
arguments représentent des chaînes de caractères identifiants des diverses courbes du tracé.
Passées en arguments, elles apparaissent dans le même ordre de courbes que dans la com-
mande plot.
La figure 2.13 montre les deux courbes produites par les commandes ci-dessus.
Figure 2.13 – Courbes des moments d’ouverture et de restauration.
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
33/57
EXEMPLES 121
L’angle d’équilibre se trouve à l’intersection des deux courbes. Nous pouvons le lire soitdirectement sur le graphe, soit en utilisant la fonction ginput (voir section 2.11). Nous de-
vons également vérifier la pression à l’équilibre, en réalisant un deuxième tracé
plot(angle, p), grid xlabel(’angle, degree’) ylabel(’Cylinder pressure, N/mˆ2’)
Essayez ces dernières commandes.
EXEMPLE 2.9 Stabilité d’un bateau sous le vent
L’exemple précédent concernait la résolution graphique d’une équation transcendantale. Nous
allons à présent montrer que la même méthode reste applicable même quand il n’est pas
possible d’établir une telle équation. Dans ce cas, il faut déterminer deux courbes sur deux
ensembles définis et en rechercher l’intersection. L’exemple proposé ici est tiré de l’architec-
ture navale, domaine dans lequel cette méthode fut appliquée pendant longtemps. Bien que
cela ne soit pas mentionné dans les ouvrages, on peut considérer ce problème comme celui
d’un ressort non linéaire, activé par une force ou un moment non linéaire. Ainsi la méthode
peut être facilement applicable à d’autres exemples de ressorts non linéaires chargés par des
forces ou moments non linéaires.
Figure 2.14 – Forces agissant sur un navire ayant du gîte.
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
34/57
122 CHAPITRE 2 CALCULS ET REPRÉSENTATIONS GRAPHIQUES
La figure 2.14 montre la coupe transversale d’un bateau. Afin d’orienter le dessin, sup-posons que nous regardions de la poupe vers la proue. W 0 L0 représente la ligne de flottaison
en condition verticale. La projection du centre de gravité sur le plan transversal donné est G,
et celle du centre du volume de coque submergée est B. La résultante des pressions hydro-
statiques passe par B ; ce point est appelé centre de carène. K est un point de référence au
milieu de la quille.
Supposons maintenant que le bateau gîte à tribord d’un angle φ. Pour éviter de redessi-ner le bateau incliné d’un angle φ, on considère le bateau comme fixe, et la nouvelle lignede flottaison W φ Lφ est dessinée avec un angle d’inclinaison de φ à bâbord. Le poids dunavire, W , agit en G verticalement, soit perpendiculairement à la ligne de flottaison W φ Lφ.
Puisque le poids du bateau est invariant, une partie du volume submergé émerge à bâbord –
c’est-à-dire à gauche – tandis que le même volume submerge à tribord – c’est-à-dire à droite.
Il en découle un déplacement du centre de carène vers la droite en un nouveau point Bφ.La poussée ∆, traverse verticalement Bφ et coupe perpendiculairement la ligne de flottai-
son W φ Lφ. D’après le principe d’Archimède
W = ∆ (2.14)
on utilise le mot déplacement pour désigner leur valeur commune. Les deux forces W et ∆
forment un couple dont le bras de levier est GZ , la longueur de la perpendiculaire extraite
de G sur la ligne d’action ∆. Le moment ∆ · GZ est le couple de stabilité. Si le navire eststable, le moment redressant renvoie le vaisseau à son état initial, c’est-à-dire en condition
verticale. GZ s’appelle le bras de levier du couple de redressement.
La distance de K à la ligne d’action de la poussée se mesure par w, une fonction du
déplacement ∆ et de l’angle de gîte φ. Le bras de redressement est calculé par
GZ = w − KG · sin φ (2.15)
La courbe de GZ en fonction de φ est appelée courbe de stabilité statique. On l’emploierapour évaluer la stabilité du bateau sous le vent. La pression du vent qui agit sur la surface
du bateau au-dessus de la ligne de flottaison W 0 L0 produit une force F W (voir figure 2.14).
Cette force dépend de la projection latérale de la partie de l’aire exposée du bateau, F . Sous
l’influence de la force F W , le bateau a tendance à dériver. Cette tendance à dériver est opposée
à une réaction hydrodynamique , RW , qui agit sur la surface opposée de coque submergée.
Les forces RW et F W sont égales, et constituent un couple de gîte dont le bras de levier du
couple de redressement est . La plus simple façon de calculer est fondée sur l’hypothèseque F W agit au centre de l’aire F et que RW agit à demi tirant d’eau.
La figure 2.14 montre la force du vent, F W
, et la réaction hydrodynamique, RW
, qui cor-
respond à l’état de condition verticale. Lorsque le bateau gîte sous l’influence du vent, les
deux forces demeurent horizontales, c’est-à-dire, pour un angle de gîte φ , F W et RW sontparallèles à W φ Lφ. Le bras redressant et l’aire F diminuent à mesure que l’angle de gîte
augmente. Pour considérer ces effets, on utilisera dans cet exemple, une formule adoptée
par la marine fédérale allemande – et ultérieurement par d’autres corps de marine – qui
est
F W = pF (0.25 + 0.75 cos3 φ) (2.16)
où p est la pression du vent.
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
35/57
EXEMPLES 123
Le moment de gîte du vent étant
M H = F W (2.17)
La position d’équilibre statique sous le vent est celle pour laquelle le couple de redressement
égale le couple d’inclinement, soit
M H = ∆ · GZ (2.18)En divisant les deux parties de l’équation 2.18 par ∆, on en déduit qu’il faut comparer
le bras de redressement GZ avec le bras du couple inclinant M H /∆. Si l’on combine cerésultat avec les équations 2.16 et 2.17, on peut calculer le bras de gîte k w, par
k w = p·
F ·(0.25 + 0.75 cos3 φ)
∆ (2.19)
Appliquons ces quelques théories à un véritable bateau de pêche dont les caractéristiques sont
Déplacement,∆ . . . . . . . . . . . . . . . . . . . . . = 402.490 kN
Hauteur du centre de gravité, KG . . . . . . = 2.161 m
Aire exposée au vent, F . . . . . . . . . . . . . . . = 35.46 m2
Bras de redressement de la force du vent = 2.120 m
Les valeurs de w sont données dans le tableau 2.6.
Tableau 2.6 – Bateau de pêche, extrait des courbes du bras w.
Angle de gîte φ Bras de redressement w Angle de gîte φ Bras de redressement wdeg m deg m
0 0.000 35 1.479
5 0.262 40 1.592
10 0.519 50 1.754
15 0.767 60 1.838
20 0.989 70 1.858
25 1.182 75 1.847
30 1.344
Supposons maintenant que nous voulions tracer la courbe de stabilité statique, pourinclure la courbe du vent gîtant extrait d’un vent de 70 noeuds, et trouver l’angle d’équilibre
statique dans ces conditions. On commence en saisissant les caractéristiques définies
delta = 402.49; l = 2.12; KG = 2.161 ; F = 35.460 ; phi = [ 0 ; 5 ; ... 75 ] ; w = [ 0; 0.262; ... 1.847 ];
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
36/57
124 CHAPITRE 2 CALCULS ET REPRÉSENTATIONS GRAPHIQUES
On convertit les angles de gîte en radians et on calcule le bras de redressement en suivantl’équation 2.15
heel = pi*phi/180 ; GZ = w - KG*sin(heel);
La pression du vent correspondant à une vitesse de vent de 70 noeuds est de 11 kN/m2.Le bras du couple du vent est calculé selon l’équation 2.19
kw = 1*F*l*(0.25 + 0.75*cos(heel).ˆ3 )/delta ;
Notez l’utilisation de l’opération de la puissance cube ‘ .^ ’. On obtient le graphique avecles commandes
h = plot(phi, GZ, phi, kw), grid title(’Fishing vessel, static stability, 70 knot wind’) xlabel(’Heel angle, degrees’), ylabel(’Lever arms, m’) legend(h, ’Righting arm, GZ’, ’Wind arm’)
Le schéma 2.15 nous montre le résultat. L’angle d’équilibre statique est approximative-
ment de 12,2 degrés.
Figure 2.15 – Courbe de stabilité statique.
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
37/57
EXEMPLES 125
EXEMPLE 2.10 Echelle de températures
Peu avant 1720, le physicien allemand Daniel Gabriel Fahrenheit (1686–1736) choisit comme
zéro de son échelle de température, la température d’un mélange glace-sel qui correspondait
à la plus basse température rencontrée à Danzig (aujourd’hui Gdansk) en 1709. Dans cette
échelle, la température de fusion de la glace correspond à 32 ◦F. Dans la même échelle, la
température d’ébullition de l’eau, au niveau de la mer, correspond à 212 ◦F.
En 1742, l’astronome suisse Anders Celsius (1701–1744) proposa une autre échelle de
température dans laquelle le point de fusion de l’eau correspond à zéro degrés, et le point
d’ébullition à 100. Ces températures sont notées respectivement 0 ◦C et 100 ◦C.
Construisons un graphe qui facilite la conversion d’une échelle à l’autre. Dans les deux
échelles, on divise en parts égales l’intervalle entre le point de fusion et le point d’ébullition.Il
s’ensuit que chaque échelle est linéaire ; le graphe consistera donc en une ligne droite. Soit F
l’axe de Fahrenheit et C celui de Celsius. Un point sur la ligne possède les coordonnées 32
pour F et 0 pour C. Le second point possède les coordonnées 212 pour F et 100 pour C.
Le graphe s’obtient dans MATLAB avec
plot([32 212], [0 100]) xlabel(’Degrees Fahrenheit’) ylabel(’Degrees Celsius’) grid
Figure 2.16 – Relation entre les échelles Fahrenheit et Celsius.
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
38/57
126 CHAPITRE 2 CALCULS ET REPRÉSENTATIONS GRAPHIQUES
On nomme un graphe qui remplace un calcul comme celui-ci un nomogramme : vouspouvez le voir à la figure 2.16. Fahrenheit indiquait 96 ◦F pour la température du corps
humain. Cette valeur fut corrigée plus tard pour 98.6 ◦F. Utilisez le graphe pour trouver
les températures Celsius qui correspondent aux valeurs précédentes et comparez-les à vos
connaissances de la température du corps humain. Utilisez également la fonction ginput à
l’aide de la souris.
La figure 2.16 représente la relation à l’intérieur de l’intervalle défini par les deux points
donnés. L’exercice 3.3 traite d’une expression qui décrit également cette relation en dehors de
cet intervalle. Remarque : La définition de l’échelle internationale de température implique
l’utilisation du point triple de l’eau au lieu de son point de fusion. Nous pouvons, dans notre
cas, négliger la différence entre les deux définitions.
EXEMPLE 2.11 Augmentation de la résistance électrique avec la températureLa résistance R d’un conducteur électrique est directement proportionnelle à sa longueur L ,
et inversement proportionnelle à sa surface de section A :
R = ρ L
AOn appelle résistivité le facteur de proportionnalité ρ. La résistivité du cuivre à 20 ◦C est
de ρ = 0.0170 . . .0.0178Ωmm2/m. La résistivité est fonction de la température et l’on peutdécrire sa variation par
ρθ = ρ(1 + α∆θ) (2.20)
oùρθ est la résistivité à θ
◦C,
α un coefficient de température, pour le cuivre α = 0.0039K−1
∆θ est la différence de température au-delà de 20◦
C.
Wiesemann (1989) donne une relation plus détaillée
ρθ = ρ20(1 + α20∆θ + β 20∆θ2) (2.21)
où
ρ20 = 0.017Ωmm2/m
α20 = 4.3 × 10−3 K −1β 20 = 0.6 × 10−6 K −2
Pour comparer graphiquement les deux relations, entre 20 ◦C et 100 ◦C, nous les traçons
par les commandes suivantes
rho = 0.0178; alpha = 0.0039; theta = 20 : 0.5 : 100; delta = theta - 20; rho1 = rho*(1 + alpha*delta); rho_20 = 0.017 ; alpha_20 = 0.0043; beta_20 = 0.6*10ˆ(-6); rho2 = rho_20.*(1 + alpha_20*delta + beta_20*delta.ˆ2); h = plot(theta, rho1, theta, rho2) xlabel(’Temperature, deg C’) ylabel(’Copper resistivity, \Omega*mmˆ2/m’) legend(h, ’Equation 2.20’, ’Equation 2.21’)
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
39/57
EXEMPLES 127
Essayez l’affichage. Remarquez que l’on note souvent la résistivité en Ωm. Dans cetteunité, la limite haute de la résistivité du cuivre est
0.0178Ωmm2
m ×
10−3
m
mm
2= 1.78× 10−8Ωm
EXEMPLE 2.12 Définition de constantes, ingénierie électrique
Supposons que nous devions connecter une source continue de 12 V à une charge de 25Ω
située à 100 m, et que nous choisissions un conducteur en cuivre de 1 mm de diamètre. Pour
être sûr d’avoir fait le bon choix, nous devons vérifier la chute de tension générée par le
conducteur. La résistivité du cuivre à 20 ◦C est de 0.0178Ωmm2/m. Dans MATLAB, il est
plus efficace de nommer les différentes valeurs et les résultats intermédiaires, puis d’utiliserces noms dans les calculs. Si nous cherchons à préparer une note ou un rapport sur les calculs
suivants, nous commençons par ouvrir un fichier journal
diary resist.dia
Ensuite, nous entrons les données
V = 12 ; % V RL = 25 ; % ohm l = 2*100 ; % m rho = 0.0178; % ohm.mmˆ2/m d = 1 ; % mm
La surface de section du conducteur est
A = pi*dˆ2/4 % mmˆ2A =
0.7854
et la résistance
R = rho*l/A % ohm R =
4.5327
La résistance totale du circuit est
RT = RL + R % ohm RT =
29.5327
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
40/57
128 CHAPITRE 2 CALCULS ET REPRÉSENTATIONS GRAPHIQUES
et l’intensité
I = V/RT % AI =
0.4063
On en déduit la chute de tension dans le conducteur
Vc = R*I % V
Vc =
1.8418
Soit un résultat supérieur à 15 % du voltage disponible. Si la situation n’est pas acceptable,
on peut réitérer les calculs avec la plus grande taille de conducteur suivante. Les données
d’entrée étant déjà définies, cela permet de réaliser immédiatement une seconde itération.
Nous pouvons traiter le fichier journal resist.dia à l’aide d’un éditeur ou d’un traite-
ment de texte et produire ainsi un rapport technique.
EXEMPLE 2.13 Un circuit de diode
La figure 2.17 montre un circuit continu qui contient une résistance et une diode à semi-
conducteur. Si v correspond à la tension aux bornes de la diode, on calcule l’intensité corres-
pondante avec
i = I 0(e40v − 1) (2.22)
où I 0 est une constante nommée courant inverse de saturation, pour de faibles valeurs
négatives de v, i ≈ − I 0. L’équation 2.22 est non linéaire ; elle est valable pour des valeurs detensions supérieures à une valeur négative connue sous le nom de claquage sous polarisation
inverse ou claquage inverse (voir par exemple, Carlson et Gisser 1990). Etant donnée la
valeur de I 0, nous pouvons utiliser MATLAB pour visualiser la courbe i − v de la diode.
Figure 2.17 – Circuit contenant une diode à semi-conducteur.
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
41/57
EXEMPLES 129
En supposant I 0 = 10−
6mA, valeur donnée par les auteurs précédemment mentionnés. Nousentrons
I0 = 1.0E-6; v = -0.05 : 0.005 : 0.05; i = I0*(exp(40*v) - 1) ; plot(v, i), grid title(’Characteristic of semiconductor diode’) xlabel(’Voltage v, V’), ylabel(’Current i, mA’)
Figure 2.18 – Caractéristique d’un diode à semi-conducteur.
La figure 2.18 nous montre le résultat. Nous obtenons ainsi la courbe caractéristique de
la diode à semi-conducteur dans un étroit domaine de tension et nous pouvons voir que pour
toute tension négative, une intensité négative très faible circulera, alors que pour des tensionspositives, l’intensité sera positive et augmentera rapidement avec v. L’image change si nous
traçons la courbe dans un plus large domaine de tension, par exemple, pour
v = -1.0 : 0.05 : 0.25;
et également pour
v = -10 : 0.05 : 0.8;
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
42/57
130 CHAPITRE 2 CALCULS ET REPRÉSENTATIONS GRAPHIQUES
Renouvelez les tracés avec les vecteurs v ci-dessus et vous verrez que la diode est pra-tiquement en arrêt (off ) pour des valeurs de tension négatives, et en marche (on) pour des
valeurs positives. La diode agit comme un redresseur.
Afin de calculer les valeurs actuelles de tension et d’intensité du circuit, c’est-à-dire le
point de fonctionnement, nous devons considérer la résistance du circuit, en écrivant une
seconde équation basée sur la loi de Kirchhoff
Ri = V s − v (2.23)Nous disposons à présent de deux équations à deux inconnues, i et v, et nous devons trou-
ver un couple de valeurs i, v qui les satisfont toutes les deux. Il y a quelques années, de
tels calculs n’étaient pas considérés comme une tâche aisée. Dans un ouvrage récent paru en
1981, nous pouvons lire que, « analyser ne serait-ce qu’un simple circuit avec une vraie diode
(ou un autre élément non linéaire), est un problème complexe ». Les auteurs recommandentd’approcher la diode réelle par une diode idéale. Cette méthode produit effectivement des
résultats moins précis, mais nettement plus rapides. Aujourd’hui, avec des logiciels comme
MATLAB, trouver la solution exacte devient plus simple que d’utiliser des modèles appro-
chés. Ainsi, pour une solution exacte, nous pouvons combiner les équations 2.22 et 2.23 afin
d’obtenir une équation non linéaire simple que des techniques numériques permettent de ré-
soudre. Pour l’instant, nous allons décrire une solution graphique légèrement moins précise,
mais plus facile à comprendre. Nous allons tracer les lignes définies par les équations 2.22
et 2.23, et chercher leur intersection qui correspondra au point de fonctionnement. Les valeurs
de i et v lues sur la courbe satisfont les deux équations. Pour notre exemple, nous utilisons
les valeurs que donnent Carlson et Gisser (1990)
Vs = 10; R = 2000;
Ensuite, grâce aux commandes suivantes, nous obtenons le graphe de la figure 2.19
v = 0 : 0.05 : 0.4; i = I0*(exp(40*v) - 1); vr = [ 0 0.39 ]; ir = 1000*(Vs - vr)/R; h = plot(v, i, vr, ir), grid title(’Operating point of resistor-diode circuit’) xlabel(’Voltage v, V’), ylabel(’Current i, mA’) legend(h, ’Diode characteristic’, ...
’Circuit characteristic’)
Dans la partie droite de l’expression de vr, les deux tensions Vs et vr sont exprimées
en V , et la résistance R en Ω. Ainsi
(Vs - vr)/R
retourne une valeur d’intensité en A. Nous convertissons ce résultat en mA, unité utilisée dans
l’expression de l’intensité i, en le multipliant par 1000.
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
43/57
EXEMPLES 131
Figure 2.19 – Trouver le point de fonctionnement dans un circuit de diode.
Il est possible de lire le point de fonctionnement sur le graphe en utilisant
[ v i ] = ginput(1)
Une flèche ou une croix apparaîtra à l’écran, vous pourrez la déplacer soit avec les touches
de direction, soit à l’aide de la souris. Placez la flèche aussi précisément que possible sur
l’intersection et cliquez sur la souris, ou appuyez sur Entrée. Les valeurs cherchées s’affi-
cheront alors à l’écran.
Pour une bonne résolution graphique, le graphe doit couvrir un intervalle aussi petit que
possible, mais doit inclure le point de fonctionnement.Cela requiert une connaissance a prioride l’intervalle qui contient la solution. Une personne débutante pourra trouver le bon inter-
valle à force d’essais et d’erreurs, alors que l’estimation de l’utilisateur expérimenté se basera
essentiellement sur son expérience pratique.
Si on remplace la source continue par une source alternative, il devient possible de dé-
montrer la fonction de redressement de la diode. Par exemple,
v = 0.4 sin(2π × 50t ) (2.24)Nous pouvons obtenir le graphe de l’intensité passant dans le circuit en traçant le graphe
des coordonnées des points de fonctionnement trouvés pour plusieurs valeurs de t . Réaliser
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
44/57
132 CHAPITRE 2 CALCULS ET REPRÉSENTATIONS GRAPHIQUES
un tel graphique s’avèrerait fastidieux ; il nous faut donc écrire un programme pour le réa-liser. Cependant, pour avoir une idée de ce qui se passe, nous pouvons négliger l’effet de la
résistance R et tracer l’intensité redressée par
t = 0 : 0.0001 : 0.05; v = 0.4*sin(2*pi*50*t); i = I0*(exp(40*v) - 1) ; plot(t, i), grid title(’The diode as a half-wave rectifier’) xlabel(’Time, s’), ylabel(’Current, mA’)
La figure 2.20 représente le résultat.
Figure 2.20 – La diode à semi-conducteur en tant que redresseur.
MATLAB 7 offre une autre manière de lire les données sur le graphique. Cliquez sur
la dixième icône en partant de la gauche de la barre d’outils dont le ballon d’aide indique
Data cursor. Puis cliquez sur le point du graphique qui vous intéresse. Un petit cadre qui
contient les coordonnées en x-y du point apparaît alors (voir figure 2.21). Cependant, alors
que la fonction ginput permet d’importer les coordonnées dans l’espace de travail, ce n’est
pas possible avec Data cursor.
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
45/57
EXERCICES 133
Figure 2.21 – Utilisation de Data cursor pour récupérer les valeurs des coordonnées.
2.14 ExercicesLes solutions des exercices 2.3, 2.4, 2.6, 2.9 et 2.11 se trouvent à la fin de l’ouvrage.
EXERCICE 2.1 Tracé d’une ellipse
Les équations paramétriques d’une ellipse centrée à l’origine des coordonnées, le grand axe 2 A
et le petit axe 2 B sont
x = A cos t (2.25)
y = B sin t (2.26)
où 0 ≤ t ≤ 2π.
Tracez une ellipse, par exemple avec A = 2, B = 1, et essayez de comprendre le sens de Aet B. Essayez avec d’autres courbes, par exemple avec celles de Spiegel (1968).
EXERCICE 2.2 Onde triangulaire
Synthétisez une onde triangulaire, symétrique au voisinage de t = 0, à l’aide des séries de Fourier
x(t ) = 8 A
π2 (cos ωt +
1
9 cos 3ωt +
1
25 cos 5ωt · · ·) , (2.27)
où A est la demi-amplitude de l’onde, et ω sa fréquence angulaire. Essayez, par exemple, A = 1,ω = 2π.
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
46/57
134 CHAPITRE 2 CALCULS ET REPRÉSENTATIONS GRAPHIQUES
EXERCICE 2.3 BattementsLa superposition de deux ondes de fréquences légèrement différentes forme une onde de lentes
variations d’amplitude. Une manière simple de démontrer ce phénomène consiste à appuyer
simultanément sur deux touches de piano voisines. Pour plus de simplicité, considérons deux
ondes de même amplitude
x1 = A sin ω1t
x2 = A sin ω2t
En additionnant ces deux ondes et en utilisant une formule trigonométrique qui transforme
une somme de deux sinus en un produit (voir Spiegel 1968), on peut écrire
x = A sin ω1t + A sin ω2t = 2 A cos (ω1 − ω2)t
2 sin
(ω1 + ω2)t
2 (2.28)
Le résultat représente une onde de fréquence angulaire ( ω1 + ω2)/2 et d’amplitude variantavec une fréquence angulaire (ω1−ω2)/2 (voir De Facia 1992). Générez les deux ondes suivantesà titre d’exercice
x1 = sin 2πt
x2 = sin 2.2πt
et simulez leur superposition. Identifiez les deux fréquences prédites par l’équation 2.28 ainsi
que l’amplitude maximale. Choisissez le vecteur t de manière à pouvoir visualiser au moins
deux périodes de l’enveloppe.
EXERCICE 2.4 Erreurs de mesure
On considère un instrument de mesure avec une échelle graduée de 0 à 1000. Voici quelques
exemples possibles
Instrument Echelle
Thermomètre 0–1000 ◦C
Baromètre 0–1000 mm Hg
Ampèremètre 0–1000 mA
Voltmètre 0–1000 V
Si l’instrument appartient avec certitude à la classe 3%, l’erreur maximale envisageable est
±3% pour la gamme de mesure, c’est-à-dire dans notre cas ±30. Ainsi, une valeur indiquée
de 1000 correspond en fait à une valeur comprise entre 970 et 1030. Si l’instrument de mesure
indique 500, la valeur réelle peut se trouver n’importe où entre 470 et 530. L’erreur relative cor-
respondante est égale à 30 × 100/500 = 6. Ce calcul simple montre que la gamme de mesure del’instrument ne devrait pas être beaucoup plus étendue que celles des valeurs à mesurer. D’après
l’une des méthodes empiriques les plus utilisées pour éviter d’importantes erreurs relatives et
celles dues à la surcharge, la valeur à mesurer doit se situer dans un intervalle compris entre 1/2et 2/3 de la gamme de mesure totale.
Afin d’illustrer ces considérations, continuez l’exemple de l’instrument à 3% ayant une
gamme de mesure égale à 1000 et effectuez les opérations suivantes :
1. Calculez et affichez le pourcentage d’erreur pour des valeurs mesurées de 100, 200, .. ., 1000.
2. Tracez le pourcentage d’erreur, en fonction des valeurs mesurées, dans l’intervalle 0-1000.
Pour le tracé, utilisez des intervalles plus faibles qu’en (1), par exemple 10.
© 2004 - Pearson Education France
8/18/2019 Calculs Et Représentations Graphique
47/57
EXERCICES 135
EXERCICE 2.5 Calibration d’instrumentSupposons que l’on veuille calibrer un instrument de mesure, tel qu’un baromètre, un thermo-
mètre, un ampèremètre ou un voltmètre. On mesure quelques valeurs standard et on compare les
résultats avec les valeurs connues. Par exemple, pour calibrer un voltmètre, on peut mesurer un
ensemble de sources de tension standard. Alors, on peut tracer la courbe des valeurs lues en fonc-
tion des valeurs standard et utiliser cette courbe pour corriger les valeurs mesurées. Le tableau
suivant en est un exemple.
Lues Standard
0.500 0
0.633 1
0.767 2
1.167 5
1.833 10
2.500 15
Construisez une courbe de calibration en tracant les valeurs lues en fonction des valeurs
standard (c’est-à-dire les valeurs réelles). Utilisez alor