Bien. Alors, on a utilisé ici une fonction qui est une fonction qui, à la différence de norme aux sommes que je vous avais montrées avant, n'est pas une fonction fournie avec le langage, mais qui est dans la bibliothèque onl.sci, et vous pouvez, vous aussi, définir vos fonctions dans, en éditant un fichier. Donc, c'est ce qu'on va faire. Je vais éditer un fichier que je vais appeler onl1.sci, dans lequel nous allons pouvoir définir des fonctions. Donc là , scilab me dit que le fichier n'existe pas. Donc, souhaitez-vous le créer? Je vais dire oui, et puis je vais aller définir dans ce fichier onl.sci, je vais aller définir une nouvelle fonction, et ce que je voudrais faire ici, c'est définir une fonction qui va me permettre de calculer la polarisation non-linéaire, enfin en tout cas, un modèle de polarisation non-linéaire comme ce qu'on a vu en cours. Vous avez vu une polarisation qui varie de manière non-linéaire avec le champ électrique. Bien. Donc, on va créer une fonction à l'aide du mot-clé function. Donc, j'ai crée function polarization. C'est le nom de la fonction qui va me calculer la polarisation en fonction du champ électrique field. Et je vais mettre un commentaire au début de mon programme pour expliquer ce que va faire cette fonction. Donc, ce sera un modèle de polarisation non-linéaire, et donc là , je prétends pas faire un modèle qui ait un quelconque sens physique. Je vais simplement utiliser la fonction exponentielle de x moins 1. Ça, c'est une fonction qui est effectivement une fonction non-linéaire, qui va saturer, qui va tendre vers l'asymptote moins 1 quand x tend vers moins l'infini, donc pour des champs négatifs. J'aurai une saturation, un petit peu comme ce qu'on avait avec notre molécule qui vibrait. Et puis au contraire, quand x tend vers l'infini, je vais avoir une augmentation de plus en plus rapide. Donc, ça va bien me donner, a priori, une variation non-linéaire. Donc, pour définir une fonction dans scilab, donc c'est, comme je le disais avec ce mot-clé function. Et puis, il faut écrire, enfin définir une variable qui servira à stocker le résultat. Vous pouvez lui mettre le nom que vous voulez. Moi, je vais l'appeler result, et je vais mettre dans cette variable result, le résultat de mon calcul. Donc, ensuite, il suffit de taper de manière très intuitive que result, c'est exponentielle de field moins 1. Donc là , j'ai le résultat de mon calcul. Bien. Donc ensuite, il suffit d'enregistrer le fichier. Et vous pouvez, en tapant exec, onl1.sci, vous pouvez directement définir votre fonction. Et maintenant, vous pouvez utiliser polarization comme n'importe qu'elle autre fonction de scilab. Donc, si je fais par exemple polarization de zéro, j'obtiens zéro. Si je réessaie avec la valeur 1, je vais obtenir donc une polarisation qui vaut 1,7. Donc, je travaille évidemment sans unité. Et puis, si je recommence avec moins 1, j'aurai une polarisation qui sera pas l'opposé, précisément, puisque j'ai une variation qui est non-linéaire, et notamment non-symétrique avec le champ électrique. Donc, avec cette nouvelle fonction, on va pouvoir maintenant, on va pouvoir faire représentation graphique. C'est-à -dire représenter la polarisation en fonction du champ, pour reproduire la courbe qu'on a vu en cours. Donc, pour ça, je vais définir une variable que j'appelle field, et donc, je vais faire varier le champ entre moins 1 et plus 1. Mais comme je veux tracer une courbe avec un grand nombre de point, je vais dire que le pas est très, très fin. Alors, je vais mettre un pas de 0,001. Donc là , je vais avoir environ 2000 points dans mon tableau field. Donc, il faut prendre en garde dans ce cas de mettre, de finir la ligne par le caractère point-virgule, comme ceci, scilab ne va pas afficher le résultat. Il va simplement faire l'opération de, de créer cette variable field dans laquelle il range cette rampe de points, mais il va pas l'afficher directement sur la console. Donc ensuite, je peux calculer la polarisation. Donc, je vais l'appeler P, et ce sera polarization de field. Même chose, je mets un point-virgule. Et ensuite, je peux directement représenter ces données en représentant donc, en spécifiant, enfin avec la commande plot, et en spécifiant l'axe des abscisses, field, l'axe des ordonnées, P, et je vais directement pouvoir voir la polarisation en fonction du champ électrique. Donc, voilà le résultat que nous avons ici. Quand vous avez un plot comme ça, vous pouvez évidemment mettre des commentaires, spécifier le, ce que vous voulez sur la vie des x. Donc par exemple, je vais mettre que c'est le champ électrique sur, je vais mettre que j'ai le champ électrique sur l'axe des abscisses. Et puis je vais mettre que avec la commande Y label, que j'ai la polarisation, et puis je peux même donner un titre au graphe à l'aide de la commande title, donc modèle de polarisation ou de réponse non-linéaire. Voilà . Donc, vous voyez qu'il est très simple de représenter graphiquement des fonctions. Alors, une chose qu'il faut savoir avec la commande plot dans scilab, c'est que si je rappelle cette commande plot, il va pas me faire un nouveau graphe, mais il va dessiner par-dessus le graphe précédent. Donc par exemple, si je dessine la même polarisation, mais décalée de 0,5, eh bien, il va pas effacer le graphe précédent, alors, vous allez superposer la deuxième courbe. Donc, c'est pratique quand vous voulez représenter plusieurs courbes à la fois, mais il faut parfois effacer la figure à l'aide d'une commande qui s'appelle clf. Donc, en passant, je vous signale que si vous voulez changer de couleur, il faut rajouter un code pour la couleur. Donc, si je mets ici R, ça voudra dire red, et donc, il va me tracer cette deuxième courbe en rouge. Donc, vous avez bien sûr dans l'aide de scilab que vous trouverez sur le site web scilab.org, vous aurez tous les paramètres que vous pouvez utiliser avec la commande plot.