TP 14 : Présentation générale de Scilab

TP 14 : Présentation générale de Scilab
Remarque. Le logiciel S CILAB est un logiciel spécialisé dans le calcul numérique. Conformément
au programme, la partie calcul numérique (correspondant au second semestre) peut être mise en
œuvre aussi bien avec P YTHON qu’avec S CILAB. On donne ici une présentation rapide de S CILAB. Mise en place de l’environnement Scilab
• Lancer S CILAB
;
• Fermer le Navigateur de fichiers et l’Historique des commandes ; ne conserver que les fenêtres
Console et Navigateur de variables.
Premiers calculs avec la console Scilab
-->
-->
-->
-->
-->
-->
-->
-->
-->
-->
-->
2+%pi↵
(1+%e)/2↵
%eps↵
1+%eps↵
%i^2↵
(1-%i)^2↵
exp(3)↵
%e^3↵
cos(%pi)↵
sin(%pi)↵
2/3↵
a=2
a=a+1
A=2*%pi
a+A
ans+a
a=1.2e-3
a=rand()
⋄ Entrer les commandes ci-contre dans la console et observer les résultats
obtenus.
Remarques.
• Le symbole --> est l’invite de la console. Il ne faut pas le taper et par
la suite, on ne l’indiquera plus.
• Le symbole ↵ désigne la touche Entrée, par la suite on ne l’indiquera
plus non plus.
• La variable ans contient le résultat du dernier calcul.
B Noter que la division est la vraie division (exacte).
B Le calcul de puissances se fait avec l’opérateur ^ (contrairement à
** en P YTHON).
⋄ Entrer les commandes ci-contre dans la console et observer les résultats
obtenus.
Remarques.
• On peut supprimer la variable a en écrivant clear a. On supprime toutes les variables en écrivant clear sans plus de précision.
B S CILAB fait la distinction entre majuscules et minuscules (tout
comme P YTHON).
http://alexandre.boisseau.free.fr/Prive/WWW/InfoPCSI/tp14.pdf
x=[1 2 3 4]
x=[1,2,3,4]
y=[1;2;3;4]
x'
y'
x(1)
y(1)
x(2)=3
y(2)=3
x(2:3)
z=[1:2:9]
t(1)=1
t(20)=1
t
length(x)
length(t)
Construction de vecteurs / listes
⋄ On considère :
x = [ 1 2 3 4 ] ∈ M1,4 (R);
y=
2
3
4
0
t =  ...  ∈ M20,1(R)
∈ M4,1 (R);
0
1
Entrer les commandes ci-contre dans la console et observer les résultats
obtenus.
Remarques.
• La virgule (ou un espace) sépare deux coefficients sur une même
ligne, le point virgule permet de passer à la ligne suivante.
• La transposée de x (notation mathématique x ⊤ ) est notée x'.
• La construction a:k:b construit la ligne dont les coefficients sont
a, a + k, a + 2k, etc. tant que les valeurs obtenues sont É b.
B Contrairement à P YTHON, les numérotations commencent à 1. eye(4,4)
ones(4,2)
zeros(4,2)
A=[1,2,3;4,5,6;7,8,9]
A(2,3)
A(2,:)
A(:,3)
A(2:3,2:3)
A'
zeros(A)
ones(A)
eye(A)
B=rand(A)
size(A)
x=[1;1]
A=[1,2;3,4]
A*x
A*A
A.*A
A^2
A.^2
eye(2,2)./A
A+1
x+1
x.^2
inv(A)
A^(-1)
·1 ¸
z = [ 1 3 5 7 9 ] ∈ M1,5 (R)
1
Construction de matrices / tableaux
⋄ On considère
A=
h1 2 3i
456
789
∈ M3 (R)
Entrer les commandes ci-contre dans la console et observer les
résultats obtenus.
Remarques.
• Le coefficient (i , j ) de A est noté A(i,j).
• La notation A(i,:) désigne la i -ème ligne de A et
A(:,j) est la j -ème colonne.
B Contrairement à P YTHON, les numérotations commencent à 1.
Calculs matriciels
⋄ Entrer les commandes ci-contre dans la console et observer les résultats
obtenus.
Remarques.
B L’opération .* est le produit terme à terme, l’opération * désigne le
vrai produit matriciel.
B De même, A.^2 représente A.*A et A^2 correspond à A*A.
B La notation ./ est la division terme à terme.
B Pour une matrice A, la notation A +1 n’a pas de sens mathématique
(elle n’est pas homogène) mais pour S CILAB elle représente la matrice obtenue en ajoutant 1 à chaque coefficient de A.
Application aux systèmes linéaires
Exercice 1 : On considère le système :

x−y +z−t =1



x + y − z − t = −1
 x+y +z−t =0


x−y −z+t =2
(S )
A ∈ M4 (R) et B ∈ M4,1(R) telles que le système (S ) s’écrive
(a) Définir dans S CILAB les·matrices
x¸
AX = B en posant X = yz .
t
(b) Définir dans S CILAB la matrice U = A −1 .
(c) Calculer avec S CILAB les produits AU et U A.
(d) Résoudre le système (S ).
Calculs avec des nombres complexes
⋄ Entrer les commandes ci-dessous dans la console et observer les résultats obtenus.
z1^2
real(z1)
imag(z1)
abs(z1)
conj(z1)
z1=2+%i
z2=1+2*%i
z1+z2
z1*z2
z1/z2
exp(%pi)
exp(%i*%pi/2)
%e^(%i*%pi/2)
Utilisation de SciNotes
• Aller dans le menu Applications et choisir SciNotes.
• Dans la fenêtre S CI N OTES, entrer le programme ci-contre ;
• Dans le menu Fichiers, choisir Enregistrer le
fichier dans... et enregistrer le fichier dans le
répertoire TPinfo, par exemple sous le nom
dessin_suite.sce ;
• Dans le menu Exécuter, choisir Enregistrer le
fichier et exécuter (enregister le fichier dans le
répertoire TPinfo, par exemple sous le nom
dessin_suite.sce) ;
• On doit alors obtenir une représentation graphique du type :
function y=u(n)
y=1
for k=1:n
y=(y+1)^0.5
end
endfunction
clf()
plot(0:10,feval(0:10,u),'bo')
title("Suite u")
xlabel("n")
ylabel("u")
Suite u
1.7
1.65
1.6
1.55
1.5
1.45
u
1.4
1.35
1.3
1.25
1.2
1.15
1.1
1.05
1
0
1
2
3
4
5
n
6
7
8
9
10