tp1 : typo
This commit is contained in:
+63
-1
@@ -2,6 +2,48 @@
|
|||||||
|
|
||||||
> Lisez et testez les exemples du [guide pour débutant](../../scilab/Scilab_debutant_annot.pdf) de scilab
|
> 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
|
## Ex1 : dérivation numérique
|
||||||
La dérivée d'une fonction est définie par la limite
|
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
|
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 l’intervalle des $x$ étant
|
de $f$ au point $x_0$ dans la fenêtre courante (le découpage de l’intervalle des $x$ étant
|
||||||
donné dans la variable $x$).
|
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é
|
2. Vérifier graphiquement avec la fonction $f(x) = x^2$ et le point $x_0 = 1$ (faire le tracé
|
||||||
sur l’intervalle $I = [−2; 2]$).
|
sur l’intervalle $I = [−2; 2]$).
|
||||||
3. Ajouter un printf dans le code de la fonction `trace_tangente(f,x0,x)` pour
|
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.
|
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
|
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.
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -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}$")
|
||||||
|
|
||||||
Reference in New Issue
Block a user