a) Exercice 1

Travaux Pratiques Analyse Numérique + Matlab. Plan : Généralités; Opérations
numériques en ligne; Fonctions graphiques; Exercices; Utilisation et Aide des ...

Part of the document




Travaux Pratiques Analyse Numérique + Matlab

Plan :

1. Généralités
2. Opérations numériques en ligne
3. Fonctions graphiques
4. Exercices
5. Utilisation et Aide des TP (résumé de séances de tp)
6. Programmation



GENERALITES




1) Qu'est-ce que Matlab ?
Matlab est un logiciel de calcul scientifique :
. fonctions mathématiques usuelles
. calcul matriciel
. racines d'un polynôme
. équations différentielles
. intégration numérique
. graphiques 2D & 3D
. etc.


Il peut être doté de nombreuses extensions (boîtes à outils : statistique,
SIMULINK, ...).
http://www.mathworks.com




2) On peut utiliser Matlab de deux manières différentes
a) en entrant des instructions à la suite du prompteur >>, le logiciel
se comporte comme une très bonne calculatrice graphique ;
b) en créant des scripts (ou m-files) ou des fonctions (extension .m),
on crée des " programmes " sauvegardables.



3) Aide (help)
Pour tout problème de syntaxe utilisez l'aide en ligne (commande help).


Opérations numériques en ligne


Il s'agit ici d'utiliser les opérateurs mathématiques afin de se
familiariser avec le logiciel. Le calcul sur les nombres complexes est
aussi abordé.


3 Premières commandes

Voici quelques exemples à essayer (chercher le résultat avant l'exécution
de la ligne et le commenter) :
>> 3*4
On peut taper plusieurs commandes Matlab sur une même ligne, en les
séparant par une virgule :
>> 5*6, 2^5
>> 3+5*2^5
Les opérateurs arithmétiques ont la priorité habituelle (cf. calculette).
>> 3+5*2^5/5
Pour rappeler des commandes précédentes, 2 possibilités :
Utiliser les touches du clavier ( ou ( et les commandes précédentes
apparaissent dans l'ordre chronologique ;
Taper les premiers caractères de la commande puis utiliser les touches
( ou (.
Après avoir choisi la commande à rappeler, il est toujours possible de
la modifier en se déplaçant avec les touches ( et ( et en effectuant
la correction
>> (3+5*2^5)/5
Une ligne d'instruction terminée par un point virgule est exécutée
immédiatement mais le résultat n'est pas affiché :
>> (3+5*2^5)/5 ;

Exemples d'assignation de variables (inutile de les prédéclarer)
>> x=2
Il faut rappeler le nom de la variable pour voir s'afficher les résultats :
>> x
>> y=x^5
>> y/x
Il est important de bien comprendre le sens du signe = qui ne signifie pas
qu'il y a identité entre les deux termes. Il signifie que le résultat de
l'expression de droite est assigné à la variable de gauche qui prend donc
une nouvelle valeur.
A titre d'exemple, x=x+1 n'a de sens qu'en langage de programmation : le
résultat de la somme du " contenu " de la variable x et de 1 est recopié
dans la même variable x.

La dernière réponse est appelée ans, à défaut de lui avoir donné un nom. On
peut l'utiliser ainsi (deviner les résultats) :
>> z=3*ans, ans, z=4*z


4 Calculs sur les nombre complexes

Dans Matlab, i (ou j) désigne le nombre imaginaire pur de partie imaginaire
égale à 1 ; si la variable i a été utilisée entre temps à un autre usage
(indice de boucle par exemple) vous pouvez la réinitialiser par i=sqrt(-
1) .
>> i^2
>> j^2
>> z1=1+sqrt(3)*i (sqrt : racine carrée)
>> z1c=conj(z1) (donne le conjugué de z1)
>> theta=angle(z1) (donne l'argument de z1 en radian)
>> theta=theta*180/pi (convertir en degré, pi=3.14...)
>> r = abs(z1) (donne le module de z1)
>> realZ1=real(z1)
>> imagZ1=imag(z1)
Pour les autres opérations sur les complexes voir l'aide en ligne.



5 Affichage des résultats

Essayez :
>> a=sqrt(3)
>> format long, b=sqrt(3)
>> a-b
>> format short
A tout moment, vous pouvez consulter la liste actuelle des variables
de votre espace de travail :
>> who
>> whos
La commande whos fournit en plus des informations sur la taille, le
nombre d'éléments et le nombre d'octets occupés. Matlab travaille
toujours sur des données en double précision (soit 8 octets).



6 Matrices

Le "Mat" de Matlab ne signifie pas Mathématique mais Matrice. De fait, il
considère tout nombre réel comme une matrice 1(1. Pour Matlab, tout est
tableau.

Syntaxe : A = [a11, a12 ; a21, a22],
avec
> Les éléments d'une ligne sont séparés par des blancs ou des virgules,
> Les éléments d'une colonne sont séparés par un point virgule ou un retour
chariot,
> Le tout est mis entre crochets.
L'appel aux éléments de la matrice est le suivant : A(lignes, colonnes)


7 Création

>> a=[1,2,3;4,5,6] % tableau à deux dimensions, 2 lignes(3 colonnes


8 Manipulation

>> a(1,2), a(2,3) % deux éléments du tableau, repérés par leurs
indices ligne et colonne
>> a(2,3)=10 % le nombre 10 est assigné à un élément du tableau
>> a' % matrice adjointe
>> c=[a;7,8,9]
>> a=[1:6;2:7;4:9]
>> a, a(1,:), a(:,2)

a) Destruction des variables précédentes
>> clear all
vérifier que les variables sont bien détruites.

b) Vecteur (= matrice ou tableau à une dimension)
L'opérateur ":" est très utile :
>> -3:3
>> x=0:10
>> x=-3:.3:3
>> x(2:12)
>> x(5)
>> length(x) (dimension du vecteur)


9 Calculs

Il faut noter que l'on peut multiplier, diviser et faire toute sorte
d'opérations sur les tableaux en utilisant les opérateurs usuels. La très
grande majorité des fonctions mathématiques peuvent opérer avec des
tableaux. Si les tableaux ne sont pas de même taille, quelques précautions
sont à prendre
Si l'on veut diviser chaque élément du tableau a par l'élément
correspondant du tableau b,
>>a=[2 4 6];
>>b=[1 2 3];
>>a./b
ans =

2 2 2
alors que
>>a/b
ans = 2
Il est possible de réaliser des opérations terme à terme sur les matrices
(les matrices sont alors assimilées à des tableaux).
Les deux opérateurs + et - travaillent déjà terme à terme. Pour les autres
opérateurs *, /, \, et ^ , il est nécessaire de les précéder d'un point
pour préciser que les opérations se font terme à terme.
Remarque :
Notez quelques symboles importants : pi, i (pour un nombre complexe) et eps
(2.2e-16, précision maximale des calculs). Il faut également noter que ces
symboles peuvent voir leur contenu modifié. Leur sens donné plus haut est
celui fixé au lancement de Matlab. Si, après une modification maladroite,
on veut revenir à la valeur prédéfinie, il faut taper clear nom de la
variable.


FONCTIONS GRAPHIQUES


Matlab offre la possibilités de résultats graphiques assez esthétiques.
Travaillant sous Windows, ils peuvent être recopiés dans une autre
application (Word, ...)


11 Fonctions 2D

>> x=-10:.1:10;
>> plot(x.^2) % chaque élément du tableau x à la puissance 2 et
non produit matriciel
>> figure % créer une nouvelle fenêtre graphique. permet de stocker
plusieurs graphes en une même session
>> plot(x, x.^2)
V Les styles de tracé :

|Symbole |Couleur | |Symbole |Marqueur |
|y |yellow | |+ | |
|m |magenta | |o |cercle |
|c |cyan | |* |astérisque |
|r |red | |. |point |
|g |green | |x |croix |
|b |blue | |square |carré |
|w |white | |diamond |carreau |
|k |black | |^ |triangle pointe en |
| | | | |haut |
| | | |v |triangle pointe en |
| | | | |bas |
|Symbole |Style | |< |triangle pointe à |
| | | | |gauche |
|- |trait plein | |> |triangle pointe à |
| | | | |droite |
|: |pointillé | |pentagram |étoile à 5 pointes |
|-. |tiret/pointi| |hexagram |étoile à 6 pointes |
| |llé | | | |
|-- |tiret | |none |pas de marqueur |
|none |pas de ligne| | | |

Exemple :
>> plot(x, x.^2, '+')
>> plot(x, x.^2, 'c*')

>> xlabel('x')
>> ylabel('y=x^2')
>> figure
>> plot(x.^2, x)
>> plot(x, x.*sin(x))
>> figure
>> plot(x.*cos(x),x.*sin(x)) % exemple de courbe paramétrée
>> figure
>> comet(x.*cos(x),x.*sin(x))


12 Fonctions 3D

On utilise la commande plot3. Elle possède la même syntaxe que plot avec le
paramètre z d'altitude en plus :
>> t = 0:pi/50:20*pi;
>> plot3(sin(t),cos(t),t);





EXERCICES



14 COURBE DE GAUSS

Tracer la courbe correspondant à la fonction [pic] pour [pic].
(on commencera par créer un tableau de valeur pour x avec un pas de 0.01).




15 DOSAGE COLORIMETRIQUE DU MANGANESES DANS UN ACIER


Objectif :
. Tracer la courbe d'absorbance A=f(() à partir de résultats
expérimentaux
. Exploiter cette courbe pour obtenir des résultats par interpolation

|( (nm) |A |
|400 |0.073 |
|410 |0.053 |
|420 |0.046 |
|430 |0.048 |
|440 |0.059 |
|450 |0.075 |
|460 |0.104