필터 지우기
필터 지우기

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

조회 수: 6 (최근 30일)
Aaron Smith
Aaron Smith 2017년 7월 5일
댓글: Ijaz Ahmad 2021년 11월 24일
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

채택된 답변

Jan
Jan 2017년 7월 5일
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
Valentino Cristini
Valentino Cristini 2021년 9월 22일
Hi, how would you add the k factor (how many times it shoud rotate the array by 90 degrees)?
Ijaz Ahmad
Ijaz Ahmad 2021년 11월 24일
k = randi([0,3], [1,numel(C)]);
for iC = 1:numel(C)
C{iC} = rot90(C{iC}, k(iC));
end

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Earth and Planetary Science에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by