Azzera filtri
Azzera filtri

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

7 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Jan il 5 Lug 2017
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});
This might avoid the memory problems.
  3 Commenti
Valentino Cristini
Valentino Cristini il 22 Set 2021
Hi, how would you add the k factor (how many times it shoud rotate the array by 90 degrees)?
Ijaz Ahmad
Ijaz Ahmad il 24 Nov 2021
k = randi([0,3], [1,numel(C)]);
for iC = 1:numel(C)
C{iC} = rot90(C{iC}, k(iC));

Accedi per commentare.

Più risposte (0)


Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange


Community Treasure Hunt

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

Start Hunting!

Translated by