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

 Akzeptierte Antwort

Jan
Jan am 5 Jul. 2017
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 Kommentare

Thanks Jan, this works perfectly
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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Data Types finden Sie in Hilfe-Center und File Exchange

Produkte

Gefragt:

am 5 Jul. 2017

Kommentiert:

am 24 Nov. 2021

Community Treasure Hunt

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

Start Hunting!

Translated by