Converting a cell type data to a 4d format

조회 수: 1 (최근 30일)
Saugata Bose
Saugata Bose 2019년 6월 25일
편집: Saugata Bose 2019년 6월 26일
Hi,
I struck into a phase where my data came into one format and I need to reshape it to other format. I have tried reshape and permute, yet, I did not achieve the ultimate result. Would you please help me to get the result. And I would really appreciate if you would please explain your solution.
Input:
A={5 x 1} cell type data where every cell is in this format {300 x 18 single}
Expected Output:
I expect to have an output where each element of A will be formatted as 18 x 300 x 1 x 1 structure.
I have tried to implement the following code to format A but I did not achieve the expected result.
z = cellfun(@(X) permute(X,[3 2 1]),A,'UniformOutput',false);
I am looking for your advice in this regard.
Thanks
  댓글 수: 3
Saugata Bose
Saugata Bose 2019년 6월 26일
@madhan: Hi. I would expect each cell from A(of size 300 x 18) will turn into a 18 x 300 x 1 x 1, 18 x 300 x 1 x 2, 18 x 300 x 1 x 3, 18 x 300 x 1 x 4 and 18 x 300 x 1 x 5 format. I am not sure though, whether it is possible or not. what you think?
per isakson
per isakson 2019년 6월 26일
What's the meaning of the colons in A(1,:1,:1,:1) ?

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

채택된 답변

madhan ravi
madhan ravi 2019년 6월 26일
Try this:
AA=cellfun(@(x) x.',A,'un',0);
Wanted = cat(4,AA{:})
  댓글 수: 3
madhan ravi
madhan ravi 2019년 6월 26일
편집: madhan ravi 2019년 6월 26일
Bose keep the facts straight the latter comment you made seems to contradict the original question before you edited.
:1 is not a valid MATLAB syntax
Saugata Bose
Saugata Bose 2019년 6월 26일
@Madhan. I absolutely agree. this is my wrong understanding. So to access each of the 4 d element seperately I need to acces by A(:,:,:,1). Thanks for such a solution. I'll edit my post to undo my wrong output expectation.

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

추가 답변 (1개)

KSSV
KSSV 2019년 6월 26일
% CReate random input for demo
A = cell(5,1) ;
for i = 1:5
A{i} = rand(300,18) ;
end
B = zeros(18,300,5) ;
for i = 1:5
B(:,:,i) = A{i}' ;
end

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by