Files
maths_2025/num/tp1/README.md
T
2026-04-07 13:28:01 +02:00

100 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# TP1 : Fonctions et dérivées numériques
> Lisez et testez les exemples du [guide pour débutant](../../scilab/Scilab_debutant_annot.pdf) 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`.
1. Enregistrez les instructions suivantes dans un fichier `test.sce`.
```
clc;clear;
A = rand(3,4)
```
Exécutez "le fichier" avec `exec("test.sce")`.
2. 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
```
3. 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}
$$
1. Vérifier numériquement laffirmation précédente avec $f(x) = x^2, x = 1$ et $h = 0.01$.
2. Ecrire une fonction scilab $y=derive(x,f)$ qui pour un tableau à 1 dimension $x$
renvoi un tableau de même taille $y$ tel que $y(i) \approx f^{'}(x(i))$ avec $h = 10^{-8}$.
3. Vérifier graphiquement avec la fonction $f(x)=x^2$ sur l'intervalle $I=[-2,2]$
## Ex2 : tracé de tangentes
1. Écrire une fonction scilab `trace_tangente(f,x0,x)` qui trace la tangente au graphe
de $f$ au point $x_0$ dans la fenêtre courante (le découpage de lintervalle des $x$ étant
donné dans la variable $x$).
Indication : On utilisera une dérivation numérique pour évaluer $f^{}(x_0)$
2. Vérifier graphiquement avec la fonction $f(x) = x^2$ et le point $x_0 = 1$ (faire le tracé
sur lintervalle $I = [2; 2]$).
3. 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 $f$ et $f^{-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 fonction `derive`)
1. $exp$ et $ln$
2. $tan$ et $arctan$.
3. $sin$ et $arcsin$
## Ex4 : calcul approché
Récupérez le fichier [myF.sci](src/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
```
1. Charger `myF` dans scilab, et calculer la fonction pour quelques valeurs.
2. Que vaut en théorie la fonction `myF` ? Tracez-là sur `[0,100]`.
3. Tracez l'erreur en valeur absolue entre la fonction, et sa valeur théorique.