Disons que j'ai un vecteur a = [1 2 4]
. Je veux qu'il soit converti en un vecteur qui ressemble à ceci b = [1 2 0 4]
, c'est-à-dire que chaque numéro est placé dans une position correcte et puisque 3
n'est pas inclus dans le vecteur a
, il est remplacé par 0
dans le vecteur b
. Cela peut être fait de la façon suivante:Conversion d'une matrice en MATLAB
a = [1 2 4]
b = zeros(1, size(a, 2));
b(1, a) = a;
Je ne peux pas trouver un moyen de faire la même chose pour une matrice. Par exemple,
c = [1 4 2 0; 3 1 0 0; 4 0 0 0; 1 3 4 0];
je dois convertir en une matrice qui ressemble à ceci:
d = [1 2 0 4; 1 0 3 0; 0 0 0 4; 1 0 3 4];
Des conseils? Comment cela peut-il être fait? Comment puis-je faire cela sans utiliser de boucles?
Comment avez-b = zéros (1, taille (a, 2)); a (1, b) = b; réaliser le changement demandé? –
Désolé, mon erreur. Corrigé ci-dessus. – Eduardas