Assignment and accessing using indices
9 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Jeff Wood
il 5 Giu 2016
Commentato: Jeff Wood
il 6 Giu 2016
I had a question about how to do a particular type of assignment using indices. The code below is a simplified example.
k = zeros(4,4);
v = [2,3];
k(v,v) = 1;
My intention was to get a result that looks like
ans =
[0, 0, 0, 0;
0, 1, 0, 0;
0, 0, 1, 0;
0, 0, 0, 0]
But unfortunately the result is:
ans =
[0, 0, 0, 0;
0, 1, 1, 0;
0, 1, 1, 0;
0, 0, 0, 0]
So my question is: Is there a way to access individual elements (rather than rectangular regions) without using a for loop (Which I understand is computationally expensive in MatLab)?
0 Commenti
Risposta accettata
Più risposte (2)
Chad Greene
il 5 Giu 2016
Try this:
A = zeros(4);
lin = sub2ind([4 4],2:3,2:3);
A(lin) = 1;
0 Commenti
Vedere anche
Categorie
Scopri di più su Logical in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!