Eventuali duplicati:
How can I change the values of multiple points in a matrix?Matlab: assegnare alla matrice con coppie indice colonna riga
Ho una matrice A
e tre vettori della stessa lunghezza, r
, tenendo gli indici delle righe da assegnare a, c
, tenendo gli indici delle colonne da assegnare a e v
contenenti i valori effettivi da assegnare.
Quello che voglio ottenere è A(r(i),c(i))==v(i)
per tutti i
. Ma fare
A(r,c)=v;
Non cedere il risultato corretto come MATLAB interpreta come la scelta di ogni possibile combinazione di r
e c
e assegnando i valori ad esso, per esempio
n=5;
A=zeros(n);
r=1:n;
c=1:n;
A(r,c)=1;
rendimenti una matrice di quelli, dove vorrei ottenere la matrice di identità dal momento che voglio A(r(i),c(i))==1
per ogni i
, cioè solo gli elementi sulla diagonale dovrebbero essere interessati.
Come posso ottenere il risultato desiderato, senza un ciclo for
?
domanda simile: [Conversione una matrice MATLAB per un vettore ] (http://stackoverflow.com/questions/1931545/converting-a-matlab-matrix-to-a-vector) – Amro
@Amro - Mentre sono d'accordo, le risposte a entrambe le domande sono molto simili, le domande sono diverse - I volevo sapere come assegnare a una matrice, mentre l'altra domanda vuole sapere come nascondere una matrice in un vettore. Non si raggiungerebbe l'altra domanda quando si cerca una risposta alla mia domanda. – olamundo
Non ho votato, ho semplicemente collegato l'altra domanda come simile (al contrario di votare per chiudere come duplicato) .. – Amro