Bien, alors on peut évidemment, toutes ces commandes qu'on a tapé dans la console, on peut également les taper dans l'éditeur ici, ce qui sera assez pratique, dès qu'on a besoin de faire des choses un peu plus compliquées. Donc, je vais l'illustrer en traçant maintenant non pas la polarisation en fonction de, du champ électrique, mais en représentant la polarisation en fonction du temps. Donc je vais supposer que j'ai un champ sinusoïdal. Donc maintenant, je vais définir le temps qui varie entre moins 1,5 et 1,5, donc toujours en mettant un pas assez fin. Je vais supposer que j'ai un champ sinusoïdal de période égal à 1, toujours sans unité. Donc, je vais définir field comme cosinus de 2 fois pi. Alors, toutes les constantes en syllabe doivent être précédées de pourcent, donc pi, ce sera pourcent pi. Donc ça, c'est la pulsation correspondant à une fréquence égale à 1, ou à une période égale à 1. La pulsation sera également égale à 2 pi. Et donc, je définis mon champ comme cosinus de 2 pi D. Ensuite, donc, je vais représenter ça dans un graphe. Donc, j'appelle la commande CLF pour effacer le graphe précédent, comme je vous l'avais dit. Et puis, je vais représenter le champ électrique en fonction, en fonction du temps. Donc maintenant, je pourrai, s'exécuter à l'aide de la commande exec. On peut faire les deux opérations à la fois, à l'aide de cette icône ici qui a pour effet d'enregistrer et d'exécuter le programme. Donc allons-y. Et donc, vous voyez que maintenant on a, dans le graphe, le champ électrique en fonction du temps. Alors, ce qui va m'intéresser, c'est pas le champ électrique, mais la polarisation non-linéaire. Donc, je vais, ici, représenter, la polarisation non-linéaire en fonction du temps à l'aide de la commande polarization. Donc là , je remplace simplement field par polarization field, tandis que si, et si je relance l'exécution, eh bien, j'ai ma polarisation non-linéaire qui, comme on l'a vu dans le cours, évidemment va être une sinusoïde distordue en fonction du temps. Je pourrais d'ailleurs, ça serait mieux que je mette en abscisse de quoi il s'agit. Donc, je vais mettre ici que on représente la polarisation en fonction du temps. Voilà . Alors, donc ça, c'étaient des fonctions très simples de représentation graphique. Et maintenant, on va faire un petit programme en syllabe qui va nous permettre de vérifier ce qu'on a vu en cours. C'est-à -dire que cette sinusoïde distordue que vous avez ici à droite peut s'écrire sous la forme d'une superposition de fonction sinusoïdale. Donc pour ça, je vais définir une nouvelle fonction que je vais appeler superposition. Donc pareil, je fais result égal superposition, et je vais superposer une fonction qui va dépendre du temps. Je vais superposer un ensemble de sinusoïdes. Donc pareil, je mets un commentaire. Donc, ce sera la superposition de sinusoïdes, donc de fréquences, de fréquences qui varient linéairement, donc de fréquences, je vais les appeler N fois 2 pi, avec N entier, et pondérées par les coefficients spécifiés. Donc, c'est ce que j'ai dans le tableau, dans le tableau coefficient. Donc là , je vais être obligé de faire une somme. Donc, je vais utilser une boucle. Donc, comme je vais appeler cette fonction superposition avec un tableau coefficient, qui va être un tableau de nombres. Par exemple, ce sera un tableau de trois nombres. Le premier nombre, ça sera le coefficient du terme constant, le deuxième sera le coefficient du terme en cosinus 2 pi fois T. Le dernier nombre du tableau sera le coefficient de cosinus 2 pi fois 2 fois T. Donc pour ça, je vais faire une boucle. Et pour faire une boucle en scilab, c'est très simple. Je vais simplement dire pour for C equal coeff. Donc ça, ça va me faire une boucle, et à chaque itération de la boucle, C prendra la valeur du coefficient. Et donc, il suffit, à chaque itération, de dire que le résultat, c'est le résultat précédent, puisque je veux faire une superposition, donc multiplié par 1 cosinus de 2 fois pi fois T, multiplié par N, qui va être le numéro de la boucle. Donc pour ça, évidemment, il faut que j'initialise N. Donc, je vais dire que N est égal à zéro au début. Donc, la première itération, N sera égal à zéro, ce sera donc le terme constant. Et puis, à chaque itération, j'ajoute 1 à la valeur de N. Donc, je mets bien des points-virgules partout pour que les calculs intermédiaires s'affichent dans la console. Voilà . Donc, le programme est presque prêt. Il me reste à initialiser result. Donc maintenant, j'ai un tableau result dans lequel je vais additionner d'abord un terme constant, ensuite un terme de fréquence oméga, ensuite un terme de fréquence 2 oméga, et ainsi de suite. Et je vais le faire autant de fois qu'il y a de nombres dans le tableau coeff. Il me manque justement la pondération par le coefficient. Donc évidemment, il faut que je multiplie ma sinusoïde par le coefficient C. Donc a priori, là , je vais avoir la superposition. Et maintenant, je vais pouvoir représenter, si je redescends ici à ma fonction plot, je vais pouvoir représenter graphiquement à la fois la polarisation non-linéaire et la superposition. Donc, je vais commencer par tester le programme en faisant une superposition très simple. Donc je vais prendre une superposition. Donc, le premier paramètre, c'est le temps. Et le deuxième, c'est les coefficients. Donc, je vais commencer avec un tableau de coefficients. Je vais mettre 0 pour le terme constant, et je vais mettre 1 pour le terme d'ordre 1. Donc en fait, ça, ça va me faire une sinusoïde de fréquence égale à 1 de période 1. Donc, exécutons le programme. Allons-y. Alors, je vais, je vais peut-être le représenter en rouge pour différencier la présentation linéaire. Voilà . Et vous voyez qu'on a bien ici une sinusoïde qui varie entre moins 1 et plus 1, et qui évidemment est très différente de la polarisation non-linéaire qui elle est distordue à cause de la non-linéarité du système. Et maintenant, je vais pouvoir ajuster mes coefficients pour essayer de faire correspondre ces deux courbes, comme on l'a fait en cours. Donc, je vais ajouter, bon là je vois qu'il y a un petit décalage. Donc je vais mettre un terme constant qui vaut par exemple, 0,4, et j'exécute à nouveau mon programme. Donc, vous voyez que je suis peut-être aller un petit peu trop haut. Je recommence avec 0,3, et comme on l'a vu en cours, il va manquer un terme de fréquence double. On voit bien qu'ici l'erreur change de signe deux fois dans chaque période. Donc, je vais rajouter un terme supplémentaire dans mon tableau de coefficients, je vais mettre ici, eh bien, à nouveau 0,3 pour voir ce que ça donne. Et vous voyez que petit à petit, je commence à tendre vers le résultat souhaité. Donc là peut-être, l'amplitude de la sinusoïde est pas tout à fait suffisante, puisque je monte pas jusqu'en haut, et je descends pas jusqu'en bas. Donc, je vais essayer avec 1,2. Et vous voyez que donc, je commence à avoir, je commence à avoir un résultat qui est assez satisfaisant. Peut-être là , ma fonction est un petit peu trop carrée en bas, donc, je vais peut-être diminuer un petit peu l'ampleur du terme en 2 oméga, et voilà . Donc, je commence à avoir quelque chose qui est tout à fait convenable. Voilà . Donc, j'ai deux fonctions qui collent assez bien. Donc, on a pu vérifier directement par nous-mêmes ce que je vous avais montré en cours, et on a donc testé un petit programme en faisant une boucle en scilab.