Matrix sequence manipulation for multiple value assignment
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Is there a quick (& simple) way to do the following without a loop? Not even sure why I don't want loops but still figured it'd be nice to know if there was a way. Feels like something obvious I'm just not thinking of..
I have an array and a matrix of indices, e.g.
A = zeros(20, 1);
idxes = [1, 5; ...
10, 13; ...
19, 20];
and I'd like to convert it such that the following is achieved without hardcoding in the indices:
A([1:5, 10:13, 19:20]) = 1;
Equivalent solution with a loop:
for i = 1:size(idxes, 1)
A(idxes(i, 1):idxes(i, 2)) = 1
end
0 Kommentare
Antworten (2)
Siehe auch
Kategorien
Mehr zu Multidimensional Arrays finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!