Sujet TP 7 - CPGE du Lycée Montesquieu
Transcription
Sujet TP 7 - CPGE du Lycée Montesquieu
Première partie : prise en main de la Console Scilab : "-->" est l'invite de commande Scilab. On peut taper tout de suite des opérations simples. Essayer (en y pensant avant) : (2+3)*4 2+6^2 exp(0) exp(1) cos(%pi) log(%e) Le résultat est toujours stocké dans la variable ans (answer) La précision des calculs est évaluable en tapant l'opération suivante : 3-sqrt(3)^2 ou 3-sqrt(3)**2 On peut aussi affecter le résultat d'une opération dans une variable (par exemple b) b=22+33; Le point virgule placé en fin d'expression permet de ne pas afficher le résultat du calcul. Pour afficher le résultat, taper : disp(b) Tester aussi les expressions : disp('Le résultat est '+b) ainsi que disp('Le résultat est '+string(b)) ou encore printf('Le résultat est %g',b) Conclure. Prise en main du logiciel SciNotes Il faut d'abord ouvrir l'application \Applications \SciNotes puis éventuellement placer la fenêtre dans l'espace de travail Scilab. Pour placer une fenêtre dans une autre, on repère d'abord la barre horizobtale bleue située en haut de la fenêtre sous la barre d'outils et contenant un point d'interrogation. Ainsi, vous placerez la fenêtre de l'éditeur dans l'environnement par défaut. Définir une fonction dans SciNotes Pour définir une fonction, on utilise une séquence telle que dans l'exemple suivant : function y=droite(x) y=2*x+3 endfunction Enregistrer le fichier SciNotes sous le nom fonction.sce. Pour exécuter ce fichier, il y a dans la barre d'outils Scinotes l'onglet Exécuter qui comprend plusieurs possibilités. Choisir Enregistrer et exécuter. Pour obtenir la valeur au point x=3, on demande dans la console le calcul avec : droite(3) On va maintenant compléter le fichier fonction.sce pour demander la valeur de l'abscisse x, en utilisant l'instruction input : abscisse=input("Abscisse du point :") puis demander l'affichage à l'aide de la fonction disp : disp("L''ordonnée du point d''abscisse " + string(abscisse) + " est " + string(droite(abscisse))) Les tests Comparer des nombres ou vérifier si une affirmation est vraie ou fausse sont des tests utiles. Voici les commandes correspondantes : Insérer maintenant une boucle 'Tant que' dans le fichier fonction.sce pour donner les valeurs de droite(x) tant que x≠ 'fin'. On pourra aussi utiliser une intruction if ... then ... else ... end si nécessaire. Tester votre programme. Tracer un graphique Dans la console, taper plot() pour visualiser un exemple de graphique. Pour tracer un point, c'est plot(1,2,".r"), plot([1,3],[2,5],"y"). par exemple. Pour tracer un segment, Ouvrir un nouveau fichier Scinotes. Vous enregistrerez ce fichier sous le nom tracé_courbe.sce . Dans Scinotes, définir de nouveau l'équation de droite nommée droite. Il faut ensuite définir l'ensemble des valeurs de x qui seront évaluées à l'aide de la fonction de répartition linéaire : x=linspace( origine , fin ,[nombre de points (100 points par défaut)] ) pour avoir accès à l'aide en ligne, taper help dans la console, ou help linspace pour aller l'aide sur cette fonction en particulier. Utiliser ensuite la fonction de tracé de courbe : plot(x,droite2,["couleur"]) Note : la chaîne de caractère "couleur" peut prendre les valeurs "b" pour bleu (par défaut), "y" pour jaune, "r" pour rouge, "g" pour vert, "c" pour cyan, "m" pour magenta, "w" pour blanc, "k" pour noir. A l'aide des instructions précédentes, tracer la droite définie précédemment pour x ∈[−10,10] en couleur bleu. Définir ensuite la parabole y=x^2+2x-2 sur le même intervalle et la tracer sur le même graphique, en couleur vert. Modifier la parabole ainsi : y=x^2 -3 x-2, et demander le tracé en noir. Remarque : si vous lancez l'éxécution en mode ...fichier sans écho c'est à dire par le raccourci Ctrl+Maj+E, il peut être utile d'effacer les tracés déjà présents sur la figure avant un nouveau tracé. Utiliser alors l'instruction clf (clear figure). Objets vecteurs et matrices : Pour définir un vecteur colonne et obtenir un affichage colonne, taper dans la console : v1=[3;-2;5] Pour définir un vecteur ligne et obtenir un affichage ligne, taper dans la console : v2=[3,-2,5] Tester : v1(1)==v2(1) v1(2)==v2(2) v1(3)==v2(3) v1==v2 Pour définir une matrice et afficher un tableau, taper dans la console : m=[1,2,3;4,5,6;7,8,9] Nota : pour Scilab, une variable telle que b ci-dessus est en fait une matrice 1x1 (cf Navigateur de variables). Recherche des points d'intersection de la parabole et de la droite On va utiliser la fonction fsolve pour déterminer le point d'intersection I, retourné sous la forme d'un vecteur ligne, de la droite avec l'axe des abscisses : solution=fsolve(x0,droite); // disp("x =",+string(solution)) x0 est la valeur initiale de la recherche (voir l'aide) Essayer avec différentes valeurs de x0. Faire de même pour les points d'intersection, retournés sous la forme de vecteurs ligne de la parabole y=x^2-3x-2 et l'axe des abscisses. Tester là aussi avec plusieurs valeurs de x0. Concluriez-vous qu'il est nécessaire d'avoir "une idée" de la solution recherchée ? C'est pourtant bien cela ! Déterminer le point d'intersection de la droite avec la droite d'équation y=1, puis les points d'intersection de la parabole et de la droite. Seconde partie : utilisation de l'environnement Xcos sous Scilab Ouvrir le fichier partie2.pdf Pour aller plus loin : exemple de tracé en trois dimensions