2014-06-25 1 views
-3

je la matrice suivante en javascript, modélisé avec la bibliothèque math.js:Quel code peut être utilisé pour créer une matrice diagonale javascript

<script src='math.js' src='sylvester.js' type='text/javascript'></script>

var CN = math.matrix([[8], [7],[3],[1]]) 

Je voudrais changer cette matrice dans une matrice diagonale:
<script src='math.js' src='sylvester.js' type='text/javascript'></script>

var CN = math.matrix([[8,0,0,0], [0,7,0,0],[0,0,3,0], [0,0,0,1]]); 

Je ne peux pas trouver le code approprié pour e est de le faire.
Quelqu'un peut-il m'aider avec le code approprié?

+6

La programmation ne consiste pas à "trouver" du code mais à l'écrire. Et cette communauté est pour les développeurs, pas pour copier-coller, désolé. – zerkms

+0

Pour chaque élément a [i], initialisez une ligne avec a.length zeroes et mettez à jour la valeur au i-ème index. –

Répondre

0

Pour créer une matrice diagonale à partir d'un vecteur avec math.js, vous pouvez utiliser la fonction math.diag. Tout d'abord, vous devrez transformer votre matrice d'entrée en un vecteur, quelque chose comme:

var A = [[8], [7], [3], [1]]; 
var B = math.transpose(A); // B = [[8, 7, 3, 1]] 
var C = math.squeeze(B); // C = [8, 7, 3, 1] 
var D = math.diag(C);  // D = [[8,0,0,0], [0,7,0,0],[0,0,3,0], [0,0,0,1]] 
+0

Merci, cela m'a aidé beaucoup! – user3775012

Questions connexes