1
J'ai un vecteur qui me dit où dans la matrice je dois changer certains bit et matrice avec des données. Par exemple:Octave/Matlab: changer la valeur à certaine position dans matix
a = [2
0
4]
data = [ 1 0 1 0;
0 0 1 0
1 1 1 1]
un me dit, je dois changer (flip de 1 à 0) les valeurs folowing:
- 2e colonne de 1er rang
- colonne 4ième dans la 3e rangée
- dans la 2ème rangée il n'y a pas de changement !!!
le résultat serait
data2 = [ 1 1 1 0;
0 0 1 0
1 1 1 0]
Comment puis-je faire avec seulement des opérations vectorielles? Je ne veux pas utiliser pour les boucles parce qu'elles sont trop lentes.
Bonjour, merci pour la réponse. J'ai essayé votre code, mais quelque chose semble toujours manquer. Si j'utilise ce code sur les données d'exemple, je reçois ce qui suit: data2 = [1 1 1 1; 0 0 1 0; 1 0 1 0], donc il retourne quelques bits supplémentaires. – andy57
oui, je vois pourquoi ça se passe, j'ai utilisé l'indexation linéaire sans être trop prudent. voir mon édition pour le correctif. – bla
fonctionne très bien maintenant, merci! – andy57