tp1 : typo

This commit is contained in:
2026-03-31 11:17:49 +02:00
parent 4911ab2867
commit 5719a83756
3 changed files with 137 additions and 1 deletions
+63 -1
View File
@@ -2,6 +2,48 @@
> 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
$$
@@ -22,10 +64,30 @@ renvoi un tableau de même taille $y$ tel que $y(i) \approx f^{'}(x(i))$ avec $
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^{}(x0)$
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.
Tracer les graphes des fonctions f(x)suivantes sur lintervalle 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](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.
+9
View File
@@ -0,0 +1,9 @@
function [ y ] = myF( x )
y = x;
for i=1:50
y = sqrt(y);
end
for i=1:50
y = y.*y;
end
endfunction
+65
View File
@@ -0,0 +1,65 @@
//***************************************************
//TP 1
//***************************************************
//*******************************************************
// dérivée numérique
//***************************************************
function y=derive(x,f)
// TODO
endfunction
// le test
function y=f(x)
y=x^2
endfunction
//***************************************************
// tracés de tangentes
//**************************************************
function trace_tangente(f,x0,x)
// TODO
endfunction
//*********************************************
// fonctions hyperboliques
//*********************************************
clf
x=[-2:0.01:2];
y0=sinh(x);
y1=asinh(x);
plot(x,y0,'-b') // sinh
plot(x,y1,'-r') // asinh
plot(x,x,'-k') // diagonale
xgrid(3) // grille
// cosh et acosh
//tanh at atanh
//****************************************************
// fonctions trigonométriques
//****************************************************
//arc tangente
clf
h=10^(-8)
x=[-5:0.01:5];
y=atan(x);
dy=(atan(x+h)-atan(x))/h;// dérivée numérique
subplot(121)
plot(x,y,'-b',y,tan(y),'-r',x,x,'-g')
xgrid(3)
xtitle('$\tan/\arctan$')
subplot(122)
plot(x,dy,'-b',x,1 ./(1+x^2),'-r')
xgrid(3)
xtitle("$\arctan''(x)={1\over 1+x^2}$")