• Aucun résultat trouvé

Octave part de l’id´ee que n’importe quelle exp´erimentation num´erique peut se faire sous forme matricielle (comme Matlab, ”Matrix Laboratory

N/A
N/A
Protected

Academic year: 2022

Partager "Octave part de l’id´ee que n’importe quelle exp´erimentation num´erique peut se faire sous forme matricielle (comme Matlab, ”Matrix Laboratory"

Copied!
5
0
0
En savoir plus ( Page)

Texte intégral

(1)

INSA de Strasbourg Ann´ee 2017/2018

TP1 : Introduction `a Octave

§A. Introduction

Ce cours a pour but d’apprendre les bases pour l’utilisation d’un logiciel de calcul scientifique, ici Octave. Des logiciels comme Matlab, Octave ou Scilab sont utilis´es en ing´enieurie pour r´esoudre num´eriquement toute une s´erie de probl`emes math´ematiques tels que les ´equations diff´erentielles ou aux d´eriv´ees partielles, les recherche de vecteurs propres de matrices, la r´esolution d’´equations lin´eaires ou non...

Octave, aussi connu sous le nom GNU Octave, est un logiciel d´edi´e au calcul scientifique et distribu´e gra- tuitement. Octave part de l’id´ee que n’importe quelle exp´erimentation num´erique peut se faire sous forme matricielle (comme Matlab, ”Matrix Laboratory”). Ce logiciel utilise un langage interpr´et´e qui est beaucoup moins performant qu’un langage compil´e comme le fortran ou le C. Octave est cependant un langage ´evolu´e permettant d’utiliser un grand nombre de fonctions pr´e-programm´ees.

§B. D´emarrage

Il est possible de commander Octave soit par le biais de la console en ´ecrivant directement des instructions ou `a partir de fichiers scripts.

B.1 Utilisation de la console

Octave est ici pr´esent´e dans un environnement windows en mode ”super calculatrice”. Une ligne d’instruction est mat´erialis´ee par ””, si l’instruction se termine par un point-virgule elle est ex´ecut´ee.

Exercice 1.

1. Lancer Octave. Une fenˆetre de commandes (console) apparaˆıt.

2. EcrireN = 10dans la console et taper sur entr´ee.

3. Afficher la valeur deN, en ´ecrivant N et en tapant sur entr´ee.

4. EcrireN = 15; dans la console et taper sur entr´ee (pas d’affichage) 5. Afficher la valeur deN (v´erifier que la valeur deN a bien ´et´e modifi´ee).

Les valeurs prises par les diff´erentes variables au terme de l’ex´ecution sont conserv´ees en m´emoire et il est possible (et parfois utile) d’afficher l’une d’elles `a posteriori en tapant simplement son nom ; l’ordre d’ex´ecution est important.

Pour ˆetre sˆur qu’il n’y a pas d’interf´erences entre les variables, il est recommand´e de commencer le programme par l’instruction clear, qui r´einitialise toutes les variables non prot´eg´ees (clear N permet de r´einitialiser la variableN).

A noter que les variables courantes sont accessibles avec la commandewho.

On peut ´ecrire plusieurs instructions sur une ligne en les s´eparant par une virgule (pas tr`es conseill´e pour la lisibilit´e).

(2)

La variableanscontient le r´esultat de la derni`ere op´eration effectu´ee.

B.2 Utilisation d’un script Exercice 2.

1. Ouvrir l’´editeur (cliquer sur une des trois icˆones en dessous de la console).

2. EcrireN = 20dans le fichier.

3. Enregistrer le fichier (”TP1.m”).

4. Placez vous dans le r´epertoire o`u le fichier ”TP1.m” a ´et´e cr´ee.

5. Ex´ecuter le fichier (bouton play).

6. Afficher la valeur deN dans la console.

Par la suite, il faudra remplir le fichier, le sauvegarder et l’ex´ecuter r´eguli`erement (pour ´eviter de perdre vos donn´ees). Des petits tests (qui ne seront pas sauvegard´es) peuvent ˆetre faits directement sur la console et on peut revenir sur les instructions pr´ec´edentes avec la fl`eche ↑.

Dans un code, il est important de mettre des commentaires (%), pour donner des explications. Sur une ligne, tout ce qui suit le symbole%est ignor´e.

§C. Premiers calculs

Octave manipule des nombres r´eels en double pr´ecision. Sur des donn´ees de l’ordre de l’unit´e, cela se traduit en pratique par le fait que l’erreur de calcul est de l’ordre de 1e−15 (notation scientifique : = 10−15, parfois not´e 1E−15, ou1D−15). L’affichage ne donne en g´en´eral que5 chiffres significatifs (alors que la pr´ecision en calcul en donne15). Pour avoir un affichage d’un nombre r´eel avec plus de chiffres, on peut utiliser la commande issue du Cprintf(”%1.15g”,nom de la variable). Attention, tous les chiffres ne sont pas significatifs. Il s’agit normalement du nombre binaire stock´e, ´ecrit en ´ecriture d´ecimale.

Exercice 3.

1. D´efinir une variable valant1 + 1e−15.

2. Enlever1 `a cette variable et afficher le r´esultat 3. Recommencer avec1e−16 (`a la place de 1e−15).

4. V´erifier ce ph´enom`ene en utilisant uniquement des nombres entiers.

Ainsi, si on fait une erreur de l’ordre de1e−15pour une quantit´e de l’ordre de l’unit´e, on peut raisonnablement l’imputer `a des erreurs d’arrondi. Notons aussi qu’on essaye, dans la mesure du possible, de se restreindre `a des calculs sur des donn´ees de l’ordre de l’unit´e (quitte `a utiliser des renormalisations).

Mots clefs :

• eps: plus petit r´eel num´erique εtel que1 +ε6= 1 sur l’ordinateur.

(3)

§D. Calculatrice

Octave peut faire office de calculatrice. On retrouve les principales fonctionnalit´es : op´erations basiques, fonctions usuelles, variables pr´ed´efinies telles que π oue, nombres complexes. On peut les retrouver dans l’aide avec la commande help nom fonction, ou consulter la documentation.

Exercice 4.

1. Chercher de l’aide sur la fonction sinus et donner une valeur approch´ee de sinus ´evalu´ee en2.

2. V´erifier les 14 premi`eres d´ecimales de π. Peut-on avoir (beaucoup) plus de d´ecimales ? On comparera les r´esultats avec l’approximation suivante avec30 chiffres significatifs :

3.14159265358979323846264338328.

3. Stocker la partie r´eelle (resp. la partie imaginaire) dez= 1 + 2idans la variablerez(resp. la variableimz).

Calculer le module et l’argument de z.

Mots clefs :

• i: nombre complexe tel que i2=−1,π=π,e= exp(1).

• z=1+ i: d´efinition d’un complexe,

• real(z),imag(z),abs(z),arg(z) : partie r´eelle, partie imaginaire, module, argument.

§E. Vecteurs et repr´esentation graphique E.1 Les vecteurs

Octaveest avant tout un outil matriciel ; il consid`ere un nombre r´eel comme une matrice1×1. Tout est donc tableau, et Octave est particuli`erements adapt´e aux calculs num´eriques d’alg`ebre lin´eaire. Dans cette section nous nous limiterons `a un cas particulier de matrices : les vecteurs.

Commen¸cons par quelques exemples.

Exercice 5.

Effectuer les calculs suivants dans la console et interpr´eter.

1. 2 + 3,2∗3,2ˆ3,2∗ ∗3.

2. A= [1,2,3],B= [1,1,1],A+B,A∗B,A.∗B,Aˆ2,A.ˆ2.

3. A=1:5,B=0:2:10,D= [2:1].

4. A=ones(1,5),B=zeros(1,2),A(3:4) =B.

5. C=linspace(0,1,4).

On aura souvent besoin de faire une discr´etisation uniforme d’un intervalle[a, b]en N sous-intervalles.

Exercice 6.

1. Fixer des param`etres N,a,b.

2. D´efinir un vecteur xcorrespondant `a la discr´etisation uniforme en utilisant linspace.

(4)

3. Signification dex(end),length(x)et x(2:3).

Mots clefs :Cr´eation de vecteurs :

• v= [1; 2; 3] : vecteur colonne.

• v= [1, 2, 3]: vecteur ligne.

• v= [v, 1]: ajoute un ´el´ement `a un vecteur existant.

• v=linspace(a,b,N): vecteur allant de a`a bavec N termes uniform´ement r´epartis.

Manipulation de vecteurs :

• w=v(1:3) : extrait un sous-vecteur (indices 1 `a 3).

• v(1:3) = [0,0,0]: modifie une partie d’un vecteur.

• v(5:end):end repr´esente le dernier indice.

• v(5:length(v)) : identique `a v(5:end).

E.2 Repr´esentation graphique

Octave trace des courbes d´efinies par des valeurs num´eriques, c’est-`a-dire des tableaux de points. On cr´ee pour cela un vecteurxd’abscisses, par exemple :

x=linspace(−pi,pi,100);

puis on prend l’image de ce vecteur par la fonction pour cr´eer un vecteur yd’ordonn´ees : y=sin(x);

La commandeplot(x,y)repr´esente les points de coordonn´ees(x(i), y(i))en les joignant par des droites : plot(x,y)

plot(x,y,0r0) plot(x,y,0s0)

La commande hold on permet de superposer des graphiques. La commande hold off permet d’arrˆeter la superposition.

plot(x,y,0r0) plot(x,y,0s0)

title(”fonction sinus00)

Noter que les chaines de caract`eres sont not´ees entre guillemets.

Exercice 7.

Repr´esenter graphiquement, sur l’intervalle[−5,5], la fonction qui `ax renvoitx2+ 1. Ajouter un titre.

Mots clefs :trac´e de courbes :

• x=linspace(−pi,pi,100): tableau de 100points entre −π etπ.

• plot(x,sin(x)): trace sinus en fonction dex.

(5)

• plot(x,sin(x),0r0): utilise la couleur rouge.

• title(”titredugraphe”) : ajoute un titre sur la figure.

• xlabel(”temps”) : ajoute un titre `a l’axe des abscisses.

• ylabel(”erreur”): ajoute un titre `a l’axe des ordonn´ees.

• legend(0courbe10,0courbe20) : ajoute une l´egende pour chaque courbe.

§F. Pour s’entraˆıner

Exercice 8.

Repr´esenter graphiquement, sur l’intervalle[0,100], la fonction qui `a x renvoit 1+cos(x)xsin(x) . Ajouter un titre.

Exercice 9.

Repr´esenter graphiquement la fonction qui prend en entr´ee un r´eel xet lui associe x+ 1si x∈[−1,0],−x+ 1 six∈[0,1]et0 dans tous les autres cas.

Indication : Une proposition logique (par exemple,(x>0&x<10)) a pour valeur1si elle est vraie et0sinon.

Références

Documents relatifs

Pour appeler le programme sur lequel vous travaillez, appeler main (sans le .m) depuis la console octave dans le r´ epertoire courant.. – Afin de palier les probl` emes

Comparison of the classical matrix assembly code in Matlab/Octave with FreeFEM++, for the mass (top left), weighted mass (top right) and stiffness (bottom) matrices.. We

C’est avec plaisir que je vous présente notre saison 2014-2015 constituée autour des productions des Comédiens de la Tour et complétée par des spectacles invités de

Car celui- ci projette sur l'indigène ses fantasmes archaïques 2 (idée autrement développée ensuite par Frantz Fanon) et s'en effraie en retour. Disons,

Pour indiquer quel doit être, en début de session, le répertoire courant (où sera aussi recherché le prologue utilisateur) : sous Windows : afficher les propriétés du raccourci

Dans l´antiquité, Pythagore a tenté de déterminer le rapport de fréquence entre les notes en les exprimant en fractions de nombres entiers (tableau ci-contre).. Le Sol est

Début d’une amitié indéfectible pour Claude Monet et Auguste Rodin, dont il est le premier à décrire la Porte de l’Enfer.. Se lie aussi avec Henry Becque, Henri Lavedan,

Avec la fonction imread Octave transforme un fichier image (ici de type .bmp ) en une matrice dont chaque coefficient est un flottant si l’image est en noir et blanc.. On peut

Les exemples qui suivent sont conçus pour attirer votre attention sur quelques points utiles de Matlab. Chargement

Nous distinguons les fonctions math´ ematiques (applicables sur tous types de variables), les fonctions concernant sp´ ecifiquement les vecteurs et les matrices, les fonctions

- Tout d’abord, ce qu’il appelle “un moi insatisfait” : selon lui, “l’hystérique est fondamentalement un être de peur qui, pour atténuer son angoisse, n’a trouvé

Comparaison des codes d'assemblage : OptV1 en Matlab/Octave et FreeFEM++, pour les matrices de masse (en haut à gauche), masse avec poids (en haut à droite) et rigidité (en bas)..

Dans la continuité de ces travaux, notre interrogation porte désormais sur les écarts entre les univers de croyance en didactique des langues à partir de deux modèles théoriques

Nous avons retenu le parfum boisé comme étant le parfum non pertinent dans l’agence car il était associée aux environnements plus sombres, plus confinés, et était

Toutefois, si on compare les F&amp;A au développement interne, comparaison non faite par Barney (1999), les acquisitions en environnement incertain peuvent être

Critics such as Hamilton have claimed that the difference between the treatment of Goneril and Regan's bodies, in contrast to Cordelia's, is that &#34;we watching this

En considérant les musiques populaires comme réalisation de politiques culturelles et comme moyen d’expression pour des mouvements culturels, c’est toute une réflexion

The framework is based on two main structuring elements: the nature of available or required information and the functions that should be able to use them to provide crisis

Tout d’abord, lorsque les problèmes environnementaux sont étudiés d’un point de vue général (score global), les résultats sont nuancés : les activations des

Avec la Web Audio API, il devient possible de créer des instruments dans un navigateur web standard et ainsi de tisser des liens symboliques entre des objets et des

Dans le désert de Judée (IMAGE) : pour tous ceux et celles qui se sentent seuls ou abandonnés pendant cette période de pandémie, afin que la joie du Christ ressuscité leur

C’est un ensemble industriel, localisé sur un même site, qui transforme la biomasse agricole et forestière en une diversité de produits biosourcés (alimentation humaine et

Comme le voyageur dont la force succombe, Avant la fin du jour vous trouvez votre tombe;.. Dans la coupe de vie, aux bords couverts