• Aucun résultat trouvé

Notion de fonction Scilab Représentation graphique d une fonction

N/A
N/A
Protected

Academic year: 2022

Partager "Notion de fonction Scilab Représentation graphique d une fonction"

Copied!
6
0
0

Texte intégral

(1)

TP n 2 ECE 1

Notion de fonction Scilab

Représentation graphique d’une fonction I. Fonction Scilab

1. Qu’est-ce que c’est et à quoi ça sert ?

On appelle unefonction Scilab, un programme qui, à partir d’entrées, retourne unesortie (un calcul, un vecteur, un booléen...).

Dans le logiciel Scilab, il y a de nombreuses fonctions pré-enregistrées. Par exemple, la fonctionlogva prendre en entrée un nombre réel strictement positif et va retourner en sortie, le logarithme népérien de ce nombre. Ainsi, lorsque l’utilisateur tape par exemple log(%e), Scilab exécute la fonctionlogavec pour entrée le nombree. Il va donc calculer la valeur delneet retourner son résultat en sortie, à savoir1.

Même si beaucoup de fonctions existent déja dans Scilab, il est souvent intéressant pour l’utilisateur de créer ses propres fonctions. Cela est pertinent notamment :

!lorsque la fonction nexiste pas dans Scilab : à vérifier dans l’aide avant de se lancer.

! lorsqu’on veut, au sein d’un même programme, lancer plusieurs fois le même sous- programme avec des valeurs différentes pour une variable par exemple : calculer une somme jusqu’ànou trouver lenèmeterme d’une suite...

! plus généralement, lorsqu’on souhaite ré-utiliser notre petit programme à d’autres occasions et potentiellement avec dautres paramètres d’entrée.

2. Syntaxe et premiers exemples

"La syntaxe de Scilab pour créer une fonction est la suivante :

où l’on notera que :

!(x1; ··· ; xp)sont les paramètres d’entrée qu’on choisit. Ils sont au nombre que l’on souhaite (il est même possible de prendrep= 0comme on le verra plus tard).

!(y1; ··· ; yn)est la liste des variables de sortie de la fonction. Cette liste peut éven- tuellement être vide ou constituée d’un seul élément. Chaque yi peut être un réel, un tableau, un booléen, ou n’importe quel objet mathématiques reconnu par Scilab.

!On peut choisir le nom de la fonction qui nous convient, mais il est conseillé de trouver un nom évocateur de ce que fait votre fonction.

!Si d’autres variables interviennent dans la liste des instructions, ce sont des variables diteslocalesà la fonction. On ne peut donc les utiliser qu’à lintérieur de la fonction. Si vous faites appel à elles en dehors de la fonction, Scilab ne comprendra pas.

#Pour créer et exécuter une fonction sous Scilab, il faut :

$Écrire la fonction avec la syntaxe précédente dans l’éditeur de texte de Scilab.

%Sauvegarder le script et l’exécuter. À ce stade, Scilab répond « Exécution terminée ».

Cela signifie que la fonction est sauvegardée dans le mémoire de la session Scilab. Il faut bien entendu refaire cette étape dès l’ouverture d’une nouvelle session.

& Taper dans la console ou dans un autre script dans l’éditeur le nom de la fonction avec la liste des arguments qui nous intéressent en respectant l’ordre.

1

Dans Scinote, ouvrir un nouveau fichier.

1. Écrire une fonction Scilabf pour la fonction qui àxassociex2−5x+ 3.

2. Sauvegarder et exécuter le fichier.

3. Dans la console, saisir les commandesf(0),f(2)etf(-2).

Vérifier les résultats à la main.

(2)

Représentation graphique d’une fonction

f(0) = f(2) = f(−2) =

À vous !

2

Dans la suite, on considère le programme suivant.

1. Dans un onglet SciNotes, recopier le programme et l’exécuter.

2. Dans la console entrerdiscrim(1,2,-3). Quel est le résultat obtenu ? À vous !

3. Quel est le nom de la fonction définie dans le programme précédent ? 4. Quel est le nom des paramètres d’entrée de ce programme ?

5. Quel est le nom du paramètre de sortie de ce programme ? 6. À quoi servent les deux premières lignes de ce programme ?

À vous !

7. À l’aide de ce programme, calculer les discriminants des polynômes :

P(X) =X2+ 2X−3 delta=

Q(X) = 5X2−2X+ 3 delta= R(X) = 13X2−12X−4 delta=

Parmi ces trois polynômes, lesquels admettent des racines ?

À vous !

3

Deux paramètres de sortie

On considère maintenant la fonctionracPsuivante.

1. Éxécuter dans la console l’instruction racP(-1,2,3) puis l’instruction [v1,v2]=racP(-1,2,3). Qu’obtient-on ?

À vous !

2. Éxécuter dans la console l’instruction[v1,v2]=racP(-1,2,3). Qu’obtient-on ? 3. Que contient maintenant la variable delta ? Et la variable xPlus ? Le vérifier en

exécutant dans la console delta puis xPlus.

On commentera alors l’expression « variable locale » par opposition à « variable globale ».

À vous !

(3)

Représentation graphique d’une fonction

4

Une amélioration

1. Modifier la fonctionracPpour qu’elle utilise la fonctiondiscrimdéfinie précédem- ment.

À vous !

2. Déterminer les solutions de des équations :

$−x2+ 2x+ 3 = 0 x1= x2=

%x2−5x+ 6 = 0 x1= x2=

3. L’équationx2+x+ 1 = 0admet-elle des solutions réelles ?

À vous !

5

Sans argument

Taper le script suivant dans l’éditeur de texte de Scilab.

Exécuter la fonctions plusieurs fois. Que fait-elle ?

À vous !

6

Commandegrandet lancers de dés

1. Taper les commandes suivantes dans la console pour comprendre ce qu’elles font :

2. Écrire une fonction Scilab qui, lorsquon choisit un nombrende dés à lancer, renvoie tous les résultats obtenus.

À vous !

3. Écrire une fonction Scilab, qui, lorsqu’on lui donne un nombren, lance n dés et retourne la somme des résultats.

À vous !

4. Écrire une fonction Scilab, qui, lorsqu’on lui donne un nombren, lance n dés et renvoie le nombre de fois où l’on a obtenu4.

À vous !

(4)

Représentation graphique d’une fonction

5. Écrire une fonction Scilab, qui, lorsqu’on lui donne deux entierstetn, lancendés et retourne le nombre de fois où le résultat est supérieur àt.

À vous !

II. Représentation graphique d’une fonction

La librairie graphique de Scilab est très puissante. On ne verra pas la totalité des choses qu’il est possible de faire avec, mais bien sûr on peut utiliser l’aide pour en savoir da- vantage.

En mathématiques il peut s’avérer très utile d’avoir la représentation graphique d’une fonction réelle, notamment pour conjecturer des résultats avant de les démontrer : mo- notonie, limite, continuité, parité...

1. Pour une fonction simple

Pour tracer la courbe représentative d’une fonction réelle définie sur[a; b], deux com- mandes sont possibles.

"La commandeplot:

Pour utiliser cette commande, on suivra les étapes suivantes :

$Créer le tableau des abscissesx. Pour cela, On peut procéder de deux manières diffé- rentes : soit on crée un tableau avec un pas constant grâce à la commandex=a:p:b, soit on crée un tableau avec un nombrenfixé de points avec la commandex=linspace(a,b,n).

% Définir la fonction que l’on veut tracer. Pour cela, encore deux possibilités : soit la fonction existe déjà sur Scilab (par exemple exp, sqrt, ...) et on n’a donc rien à faire, soit elle n’existe pas et il faut la créer via une fonction Scilab

function y=f(x);y=...;endfunction

& Taper la commandeplot(x,f)dans la console Scilab. Le logiciel ouvre une fenêtre graphique numérotée0sur laquelle apparaît la courbe espérée. Par défaut, les couleurs utilisées sont, dans l’ordre : bleu, vert, rouge...

Taper les commandes suivantes pour s’entraîner :

#La commandeplot2d:

Pour utiliser cette commande, on suivra les étapes suivantes :

$Créer le tableau des abscissesxde la même manière que précédemment.

%Créer la fonctionf de la même manière que précédemment.

&Créer le tableauydes ordonnées correspondant aux abscisses du tableauxgrâce à la commandey=f(x)(ouy= exp(x),···).

'Taper la commandeplot2d(x,y)dans la console Scilab. Le logiciel ouvre une fenêtre graphique numérotée 0 sur laquelle apparaît la courbe espérée. Pour information , la courbe s’affiche en noir par défaut.

Fermer la fenêtre graphique et taper, pour s’entraîner, les commandes suivantes :

R (La fonctionplotfonctionne avec la syntaxeplot(x,y)comme expliqué plus haut pour la fonction plot2d. En revanche, Scilab ne comprend pas plot2d(x,f).

( Le graphique obtenu n’est qu’une approximation de la courbe repré- sentative de la fonction f. En effet, pour la tracer, Scilab place tous les points (x,f(x)) dans le repère et les relit par un segment. Ainsi, entre deux points, la courbe est approchée par un segment. On veillera donc à utiliser suffisamment de points pour que la courbe ait un aspect « lisse » et non l’aspect d’une ligne brise.

Pour bien voir la différence, fermer la fenêtre graphique puis taper les commandes sui- vantes dans la console :

(5)

Représentation graphique d’une fonction

Modifier le tableauxen le rendant plus précis ou moins précis et observer la différence.

Penser à fermer la fenêtre graphique entre deux.

2. Un intérêt de la fonction plot2d

D’après ce qui précède, il semble plus rapide d’utiliser la fonctionplot.

Cependant,plot2doffre la possibilité de définir un certain nombres d’attributs comme la couleur du trait, la forme du trait (continu ou pointillé), les valeurs maximales et minimales, etc...

La couleur ou le mode de tracé (en continu ou point) est géré par le nom d’option style.

C’est un tableau ligne d’entiers, avec un attribut pour chaque courbe. Une valeur positive correspond à une couleur et une valeur négative ou nulle remplace l’affichage continu par un symbole .

Voici un exemple à tracer, après avoir fermé la fenêtre graphique, pour visualiser le rendu graphique de la commande style :

R Pour améliorer l’aspect du graphe on pourra utiliser certaines options de la fonctionplot2d(voir l’aide en ligne pour plus de détails), par exemple :

!axesflagpour gérer le positionnement des axes,axesflag=5pour avoir des axes qui se croisent en(0,0).

!xgrid()permet d’afficher une grille pour lire les coordonnées.

!legends()permet d’afficher une légende.

Cependant, pour l’utilisation que l’on aura de Scilab, on peut largement se contenter de la fonctionplot. On la choisira donc par défaut.

3. Tracés multiples et gestion des fenêtres graphiques

Lorsque on trace plusieurs courbes à la suite les unes des autres et sans fermer la fenêtre graphique, on peut constater que Scilab les superpose sur la même fenêtre et les trace de la même couleur.

$Si on souhaite effectivement faire apparaître les deux courbes sur une même fenêtre, on peut le faire simultanément avec la fonctionplot.

Taper les commandes suivantes pour les comprendre :

Ce tracé multiple présente un intérêt pratique : les courbes sont affichées dans des cou- leurs différentes.

%Si on souhaite que la seconde courbe apparaisse dans une autre fenêtre graphique, on peut fermer la fenêtre graphique avant de tracer la seconde courbe ou alors utiliser les commandes Scilabscfouclfpour gérer les fenêtres graphiques.

"La fonctionscf:

La fonction scf(« set current graphic figure ») permet de définir la fenêtre graphique courante. On peut en faire deux utilisations.

! scf(): utilisée sans paramètre, la fonction scf ouvre une nouvelle fenêtre graphique qui devient la fenêtre courante. Afin de pouvoir identifier cette fenêtre, elle est dotée d’un numéro défini comme le plus grand numéro obtenu des fenêtres déjà ouvertes auquel on ajoute1.

!scf(num): utilisée avec le paramètre num, la fonctionscfpermet de définir la fenêtre portant le numéro numcomme fenêtre courante. Si la fenêtre numn’existe pas, elle est créée et devient la fenêtre courante.

Afin d’illustrer ce mécanisme, fermer toutes les fenêtres graphiques et taper les com- mandes suivantes pour les comprendre :

R Le premier appel permet de créer une nouvelle fenêtre graphique numéro- tée par 2. Elle devient la fenêtre courante et accueille de ce fait le tracé plot(x,exp).

Le deuxième appel fait de la fenêtre graphique0(déjà existante) la fenêtre courante. Elle accueille alors le tracéplot(x,x*x).

Le troisième appel crée la fenêtre graphique numéro3 = 2+1qui accueille le tracéplot(x,f).

(6)

Représentation graphique d’une fonction

#La fonctionclf:

La fonctionclf(« clear current graphic figure ») permet de supprimer le contenu d’une fenêtre graphique. On peut en faire deux utilisations :

!clf(): utilisée sans paramètre, la fonctionclfpermet de supprimer le contenu de la fenêtre courante.

! clf(num) : utilisée avec le paramètre num, la fonctionclf permet de supprimer le contenu de la fenêtre portant le numéronum.

Par exemple, la commandeclf(2)permet de supprimer le tracé de la fenêtre graphique numéro2.

)Ajouter des titres et de légendes avecplot:

La fonctionxtitlepermet d’ajouter des annotations dans les fenêtres graphiques : titre général et annotations des axes. Elle s’appelle une fois le graphique réalisé. Ainsi, le résultat de l’appel à la fonctionxtitles’applique à la fenêtre courante. Illustrons cette fonctionnalité à l’aide d’un exemple concret :

Cette fonction prend en paramètres entre 1 et 3 arguments : le premier (qui est obli- gatoire) définit le titre général du graphique ; le deuxième permet d’annoter l’axe des abscisses ; le dernier permet d’annoter l’axe des ordonnées.

La fonctionlegendpermet d’ajouter une légende à la fenêtre graphique courante. Comme dans le cas de la fonctionxtitle, elle s’applique une fois le graphique obtenu. Considé- rons que le tracé précédent définit la fenêtre courante. Illustrons la syntaxe de la fonction legendà l’aide de l’appel suivant :

Le premier argument de la fonctionlegendest un vecteur colonne contenant le nom que l’on souhaite donner à chacun des tracés. Le deuxième argument permet de spécifier la position de la légende (upperoulower,leftouright).

7

Trinômes

1. Tracer dans une même fenêtre graphique et avec trois couleurs différentes les fonc- tions polynomiales suivantes sur l’intervalle[−5 ; 5]:

f(x) =x2−4x+ 4 g(x) =x2+ 5x+ 4 h(x) = 2x2+x+ 2

2. Ajouter un titre et une légende au tracé obtenu.

3. Dans chacun des cas, déduire à partir du tracé obtenu le signe du discriminant du polynôme.

À vous !

8

Fonctions usuelles

1. Tracer dans différentes fenêtres graphiques les fonctions suivantes :

!La fonction carrée sur l’intervalle[−3 ; 3].

!La fonction cube sur l’intervalle[−3 ; 3].

!La fonction logarithme sur l’intervalle[0,01 ; 4].

!La fonction valeur absolue sur l’intervalle[−3 ; 3].

!La fonction partie entière sur l’intervalle[−5 ; 5].

2. Ajouter un titre (le nom de la fonction) à chaque tracé obtenu.

3. Le tracé obtenu pour la fonction partie entière est-il satisfaisant ? Pourquoi ? À vous !

Références

Documents relatifs

1) Dans la Barre système, cliquer sur Repère, c’est l’icône pour créer un repère (fig 1)... 2) Dans la Barre de travail (sous menu de l’icône Repère) le logiciel

Pour les points non situés sur les axes, on trace des pointillés à la règle et on écrit les coordonnées.. Enfin, on joint les deux points à

Construis sa représentation graphique. 2) Donne les coordonnées du point d’intersection des

Attention tu n’auras peut être pas pris les mêmes antécédents que moi... France – Montataire https://www.lesmathsalamaison.fr 2020 Représentation

Soit le carré ayant un coté commun de longueur x c m avec le rectangle. Pouvez-vous démontrer vos conjectures faites

On considère une feuille de papier dont le rapport entre la longueur et la largeur reste le même lorsque celle-ci est pliée en deux perpendiculairement à sa longueur.. Calculer

La fonction de demande d’un produit est modélisée sur l’intervalle [0 ; 20] par la fonction f étudiée dans les parties A et B.. Utiliser les résultats de la partie B afin

En chaque point de cette droite il élève une perpendicu- laire dont la hauteur (latitudino) est proportionnelle à l’intensité de la chaleur au point correspondant du corps.En