How to make a 2d structure from 3d structure??
이전 댓글 표시
I have a structure(Say A) of size 20 × 18 × 4.
I want to convert it to(Say B) of size 80 × 18
I tried with
B = reshape(A,80,18)
Is this correct?? Please suggest
댓글 수: 2
Mehmed Saad
2020년 4월 16일
편집: Mehmed Saad
2020년 4월 16일
Yup it is correct for arrays and cells
Example
x = rand(20,18,4);
y = reshape(x,80,18);
Ashish Mishra
2020년 4월 16일
편집: Ashish Mishra
2020년 4월 16일
답변 (1개)
Mehmed Saad
2020년 4월 16일
x(1,1,1) = 1;
x(1,1,2) = 2;
x(1,2,1) = 3;
x(1,2,2) = 4;
x(2,1,1) = 5;
x(2,1,2) = 6;
x(2,2,1) = 7;
x(2,2,2) = 8;
Now type
x(:)
Output will be
ans =
1
5
3
7
2
6
4
8
When you feed data to reshape it converts into this and then reshape to your given dimensions forexample
reshape(x,2,4)
ans =
1 3 2 4
5 7 6 8
Inorder to change which data to pick you have to premute the dimensions for example
x = permute(x,[3 2 1]);
x(:)
ans =
1
2
3
4
5
6
7
8
Hope this helps
댓글 수: 1
Tommy
2020년 4월 17일
Ashish,
For your example, I believe this would be
B = reshape(permute(A,[1 3 2]),80,18);
카테고리
도움말 센터 및 File Exchange에서 MATLAB에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!