2.8 KiB
2.8 KiB
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. Tracer les graphes des fonctions f(x)suivantes sur l’intervalle I. Combien y a-t-il de solutions x ∈I `a l’´equation f(x) = 0. Retrouver si possible leur valeur exacte.
Ex3 : 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.