Multi-level indexing
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Respuesta aceptada
Oleg Komarov
el 7 de Sept. de 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];
Más respuestas (0)
Ver también
Categorías
Más información sobre Graphics Object Properties en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!