Comment attribuer une valeur à des endroits précis d'une matrice dans MATLAB?
Je ne suis pas très familier avec Matlab afin de m'excuser pour cette question idiote à l'avance. Je voudrais assigner le numéro 1 pour certains endroits spécifiques d'une matrice. J'ai un vecteur ligne et de la colonne correspondante du vecteur. J'ai essayé d'attribuer des valeurs à ces endroits plusieurs fois. Toutefois, il ne fonctionne pas. Voici une petite taille exemple de codes. Supposons qu'il existe un 4*4 de la matrice et je voudrais assigner la matrice(1,1), la matrice(2,3) et la matrice (3,4) à 1. C'est ce que j'ai fait.
matrix = zeros(4,4);
row = [1 2 3];
col = [1 3 4];
matrix(row,col)=1;
Cependant, j'ai eu la réponse que
matrix=[ 1 0 1 1
1 0 1 1
1 0 1 1
0 0 0 0]
Quelqu'un peut-il point de ce que je ne fais de mal? La taille réelle de la matrice, je vais travailler, c'est en milliers donc c'est pourquoi je ne peux pas attribuer ces postes un par un manuellement. Est-il possible d'utiliser la ligne de vecteur et le vecteur colonne, je dois attribuer la valeur 1 ? Merci beaucoup,
- Il peut être utile: stackoverflow.com/questions/6850368/...
- Je vous remercie beaucoup. J'ai vérifié la poste et il est très utile.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
sub2ind
pour calculer le linéaire des indices de la position que vous souhaitez attribuer et utiliser ceux de la mission:Un peu de bosse. Sauf si vous faites tout à fait un peu de non-contigus des lignes ou des colonnes, un moyen très utile, c'est comme
Il prend en charge l'élément de mathématiques très facilement
ce serait
en