Multi-level indexing
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Given: screen(1).position = [1 2; 3 4]; screen(1).size = [5 6; 7 8]; screen(2).position = [11 12; 13 14]; screen(2).size = [15 16; 17 18]; I can execute: screen(1).position(:,2) and screen(1:2).position but not screen(1:2).position(:,2), for example to make a simultaneous assignment to the 2nd columns of the position matrices i.e. intuitively I would like to say: screen(1:2).position(:,2) = [19 20; 21 22]; What is the easiest way to accomplish the assignment?
0 Kommentare
Akzeptierte Antwort
Oleg Komarov
am 7 Sep. 2011
This is alimitation of structures:
new = [19 20; 21 22];
for n = 1:numel(screen)
screen(n).position(:,2) = new(:,n);
end
If your fields concatenable, then I would suggest to store them as:
screen.position = cat(3,[1 2; 3 4], [11 12; 13 14]);
screen.position(:,2,:) = [19 20; 21 22];
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Manage Products 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!