OK, so I have a 4 page 3×30 3D matrix (which is 3x30x4) and would like to delete certain entries in matrix. These entries are the same on all 4 pages and the entries are stored in a 1×30 matrix like:
idx = [1 1 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2]
such that each entry in idx corresponses to the entry needed to be delete in each column. By say delete, I mean assigning a [ ] to the entry. To further illustrate let's say I have a 3D matrix A and idx:
A(:,:,1) = [1 2 3; 4 5 6; 7 8 9] A(:,:,2) = [10 11 12; 13 14 15; 16 17 18] A(:,:,3) = [19 20 21; 22 23 24; 25 26 27]idx = [3 2 2]
I would like to get a 2x3x3 matrix B in this context:
B(:,:,1) = [1 2 3; 4 8 9] B(:,:,2) = [10 11 12; 13 17 18] B(:,:,3) = [19 20 21; 25 23 24]
Are there any methods that can do this without a loop?
Best Answer