How to Modify Entries in Cell
4 views (last 30 days)
Show older comments
Hello,
I would greatly appreciate any/all help with this issue:
I have a 18 x 1 cell array. Each cell in this array contains an (1024 x 1024 x 50 , value = double) matrix. Thus, there are a total of 18 of these matrices, each one stored in a separate cell.
I would like to modify each of the matrices by cutting out the last 2 "frames" --> producing a total of 18 (1024 x 1024 x 48) matrices, each one stored in a separate cell.
Please help! Thanks :)
0 Comments
Accepted Answer
James Tursa
on 13 Jun 2017
result = cellfun(@(x)x(:,:,1:end-2),your_cell_array,'uni',false);
2 Comments
James Tursa
on 13 Jun 2017
Edited: James Tursa
on 13 Jun 2017
@(x)x(:,:,1:end-2) creates an anonymous function on the fly. It takes an input x and returns a truncated version of x with the last two pages removed. E.g.,
>> y = reshape(1:24,2,3,4)
y(:,:,1) =
1 3 5
2 4 6
y(:,:,2) =
7 9 11
8 10 12
y(:,:,3) =
13 15 17
14 16 18
y(:,:,4) =
19 21 23
20 22 24
>> f = @(x)x(:,:,1:end-2)
f =
@(x)x(:,:,1:end-2)
>> f(y)
ans(:,:,1) =
1 3 5
2 4 6
ans(:,:,2) =
7 9 11
8 10 12
More Answers (0)
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!