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