Académique Documents
Professionnel Documents
Culture Documents
1. Syntaxe générale
1.1. Vecteurs. Tapez les commandes suivantes
A = [1, 2, 3]
B = [1 : 3]
C = B!
D = [1; 2]
E = [1; 2];
D−E
Exercise 2. En deduire deux manières de saisir un vecteur ligne F contenant les
nombres de 1 à 20.
Calculer [1 : 0.5 : 10] − F/2
Les constantes universelles sont precedees d’un %.
Exemple, π = %pi . . .
Les multiplications et divisions par des scalaires se font de manière naturelle
+, −, /, ∗.
L’opération de conjugaison se note conj. Le module, ou la valeur absolue pour
les réels, se note abs.
Exercise 3. Calculer par exemple le conujgué de 1 + i.
Pour les vecteurs, le signe ! indique la transposition.
La multiplication ∗signifie la multiplication matrice-vecteurs .
Exercise 4. Vérifier, parmi les 4 operations A ∗ A, A ∗ A! , A! ∗ A, A! ∗ A! que les
seules possibles sont celles qui ont un sens en algébre linéaire.
L’operation .∗ signifie la multiplication composante par composante (de manière
generale, à toute opération matricielle correspond une opération composante par
composante qui se note par le même symbole, précedé d’un point). Vérifier que les
quatres operations A. ∗ A, A. ∗ A! , A! . ∗ A, A! . ∗ A! sont possibles.
Exercise 5. Remplir un vecteur colonne avec les carres des 100 premiers entiers.
5.1. Matrices. On peut les définir ligne par ligne,
A = [1 : 3; 4, 5, 6; 7 : 9]
ou élément par élément
A(2, 2) = 11.
On multiplie les matrices comme les vecteurs. La résolution du système
Ax = b
peut se faire soit en tapant x = A \b (ce qui correspond à la résolution du système
par L.U.), soit en calculant x = inv(A) ∗ b (ce qui est a priori plus couteux.
1
INTRODUCTION À SCILAB ET MÉTHODES ITÉRATIVES 2
A = rand(5, 5)
Exercise 6. Tester sur quelques matrices aléatoires la borne donnée par le condi-
tionnement, en fonction d’une perturbation des données: on choisira une
7.2. Boucle vs. Vectoriel. Une boucle commence par for et fini par end
for i=1:3
a=i
end
On peut incrémenter de pas non entiers
for i=1:0.3:3
a=i
end
De facon générale, la syntaxe for x=a où a est un vecteur, parcourt chaque
composante du vecteur a
l=[1 3 7 2 4 8]
for i=l
i
end
Exercise 8. Calculer
n !
! n
i×j
i=1 j=i
stacksize(4000000)
INTRODUCTION À SCILAB ET MÉTHODES ITÉRATIVES 3
8.1. Ecriture d’un programme. Plutot que par une série de commandes, on va
écrire le calcul de la somme
n !
! n
i×j
i=1 j=i
8.2. Ecriture d’une fonction. On peux écrire des fonctions plutôt que des scripts.
Ils doivent alors avoir pour suffixe
”.sci”, et commencer par
function resu=NomFonc(x)
9. Premiers Programmes
9.1. Formes quadratiques définies positives. On souhaite écrire deux pro-
grammes, pour comparer leur vitesse relative, permettant de tester si une matrice
symétrique est définie positive
Le premier programme utilise le fait que chaque valeur propre doit être stricte-
ment positive.
Vous aurez sans doute besoin de la commande if, qui s’emploie ”comme toujours”
if condition then
instructions
(éventuellement else instructions)
end
Le second programme utilise le théorème démontré en TD: les déterminants des
mineurs principaux doivent tous être positifs.
Vos programmes devront être des fonctions prenant en entrée une matrice, et
sortir une réponse booléenne (T ou F, pour vrai ou faux).