TP1 : Fonctions et dérivées numériques
Lisez et testez les exemples du guide pour débutant de scilab
Si vous avez des problèmes d'affichages, lancez scilab depuis la console avec
LIBGL_ALWAYS_SOFTWARE=1 /usr/bin/scilab
Exécuter sous Scilab.
Les commandes Scilab peuvent être tapées directement en ligne. Par exemple,
--> x = 1
--> A = ones(3,2);
--> x + A
Le caractère ; à la fin de la ligne indique si scilab affiche le résultat de la commande. Les commandes peuvent
écrites dans un fichier *.sce.
- Enregistrez les instructions suivantes dans un fichier
test.sce.
clc;clear;
A = rand(3,4)
Exécutez "le fichier" avec exec("test.sce").
- On peut définir des fonctions, et les placer dans un fichier :
// (commentaires en Scilab) Fonction carre.sci
function res = carre(x)
res = x.*x
endfunction
- Faites
exec("carre.sci"). La fonction carre est maintenant définie sous Scilab
--> x = carre ([0,1,2,3,4])
--> y = carre(x)
--> plot2d(x,y)
Ex1 : dérivation numérique
La dérivée d'une fonction est définie par la limite
f'(x) = \lim_{h\to 0} \frac{f(x+h) - f(x)}{h}
ce qui signifie que pour h assez petit
f'(x)\approx \frac{f(x+h) - f(x)}{h}
- Vérifier numériquement l’affirmation précédente avec
f(x) = x^2, x = 1eth = 0.01. - Ecrire une fonction scilab
y=derive(x,f)qui pour un tableau à 1 dimensionxrenvoi un tableau de même tailleytel quey(i) \approx f^{'}(x(i))avech = 10^{-8}. - Vérifier graphiquement avec la fonction
f(x)=x^2sur l'intervalleI=[-2,2]
Ex2 : tracé de tangentes
-
Écrire une fonction scilab
trace_tangente(f,x0,x)qui trace la tangente au graphe defau pointx_0dans la fenêtre courante (le découpage de l’intervalle desxétant donné dans la variablex). Indication : On utilisera une dérivation numérique pour évaluerf^{′}(x_0) -
Vérifier graphiquement avec la fonction
f(x) = x^2et le pointx_0 = 1(faire le tracé sur l’intervalleI = [−2; 2]). -
Ajouter un printf dans le code de la fonction
trace_tangente(f,x0,x)pour afficher l’équation de la tangente dans la console.
EX3 : fonctions et fonctions réciproques
- Vérifiez la symétrie des graphes de
fetf^{-1}: - Calculez la dérivée de
f^{-1}et vérifiez le résultat en traçant le graphe de la dérivée numérique avec la fonctionderive)
expetlntanetarctan.sinetarcsin
Ex4 : calcul approché
Récupérez le fichier myF.sci qui définit la fonction suivante :
function [ y ] = myF( x )
y = x;
for i=1:50
y = sqrt(y);
end
for i=1:50
y = y.*y;
end
endfunction
- Charger
myFdans scilab, et calculer la fonction pour quelques valeurs. - Que vaut en théorie la fonction
myF? Tracez-là sur[0,100]. - Tracez l'erreur en valeur absolue entre la fonction, et sa valeur théorique.