« Découvrir Scilab/Matrices creuses » : différence entre les versions

Contenu supprimé Contenu ajouté
m Formatage, ajout de strong
DannyS712 (discussion | contributions)
m <source> -> <syntaxhighlight> (phab:T237267)
Ligne 21 :
| Exemple
|-
| <sourcesyntaxhighlight lang=scilab>sparse (A)</sourcesyntaxhighlight>
| Transforme la matrice <code>A</code> en une matrice creuse
| <sourcesyntaxhighlight lang=scilab>-->A = [0, 1; 2, 0]
A =
Ligne 35 :
( 1, 2) 1.
( 2, 1) 2.</sourcesyntaxhighlight>
|-
| <sourcesyntaxhighlight lang=scilab>sparse (ij, v [,mn])</sourcesyntaxhighlight>
| Crée une matrice creuse :
* <code>ij</code> : matrice à deux colonnes donnant la position des éléments non nuls ;
* <code>v</code>v</code> : vecteur donnant la valeur des éléments non nuls ;
* <code>nm</code> : vecteur à deux éléments donnant la dimension de la matrice.
| <sourcesyntaxhighlight lang=scilab>-->A = sparse ([1, 2; 4, 3], [1, 1])
A =
Ligne 56 :
0. 0. 0.
0. 0. 0.
0. 0. 1.</sourcesyntaxhighlight>
|-
| <sourcesyntaxhighlight lang=scilab>sparse ([], [], [n, m])</sourcesyntaxhighlight>
| Crée une matrice creuse "vide" de dimension <code>n*m</code>. Équivalent au code <code>matlab</code> : <sourcesyntaxhighlight lang=matlab>sparse (n, m)</sourcesyntaxhighlight>
| <sourcesyntaxhighlight lang=scilab>-->A = sparse ([], [], [2, 3])
A =
Ligne 70 :
0. 0. 0.
0. 0. 0.</sourcesyntaxhighlight>
|}
 
Ligne 77 :
La fonction <code>matlab</code> <code>spdiags</code> n'existe pas sous <code>scilab</code>. Pour créer une matrice diagonale, il faut passer par la fonction générique <code>sparse</code> de création d'une matrice creuse :
 
<sourcesyntaxhighlight lang=scilab>sparse ([1:n; 1:n]', d)</sourcesyntaxhighlight>
* <code>n</code> : dimension de la matrice;
* <code>d</code> : vecteur des valeurs de la diagonale.
Ligne 83 :
Exemple :
{| class="wikitable"
| <sourcesyntaxhighlight lang=scilab>d = [1, 5, 2, 4]</sourcesyntaxhighlight>
| <sourcesyntaxhighlight lang=text>
d =
1. 5. 2. 4.
</syntaxhighlight>
</source>
|-
| <sourcesyntaxhighlight lang=scilab>A = sparse ([1:4; 1:4]', d)</sourcesyntaxhighlight>
| <sourcesyntaxhighlight lang=text>
A =
Ligne 100 :
( 3, 3) 2.
( 4, 4) 4.
</syntaxhighlight>
</source>
|-
| <sourcesyntaxhighlight lang=scilab>full (A)</sourcesyntaxhighlight>
| <sourcesyntaxhighlight lang=text>
ans =
Ligne 110 :
0. 0. 2. 0.
0. 0. 0. 4.
</syntaxhighlight>
</source>
|}