Is it possible to rotate the data inside each cell of a cell array

I have a cell array containing a matrix inside of each cell. I need to rotate the matrices. I have already found the rot90 command which works fine for the individual matrix oor for rotating the cells of a cell array. My query is, is it possible to rotate each of the matrices without doing it individually?
I was looking at using cellfun to attempt to do this
cellfun(rot90(finishCell{k}, 3));
This appears to manipulate the cells of the cell array and not the data inside

 Accepted Answer

While
C = cellfun(@rot90,C,'uni',0)
creates a copy of C, such that the double size of memory is required temporarily, a loop creates the duplicates one after the other:
for iC = 1:numel(C)
C{iC} = rot90(C{iC});
end
This might avoid the memory problems.

3 Comments

Hi, how would you add the k factor (how many times it shoud rotate the array by 90 degrees)?
k = randi([0,3], [1,numel(C)]);
for iC = 1:numel(C)
C{iC} = rot90(C{iC}, k(iC));
end

Sign in to comment.

More Answers (0)

Categories

Products

Asked:

on 5 Jul 2017

Commented:

on 24 Nov 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!