Problem using RESHAPE function

I have problem for reshape 1d matrix (C1d(340029,1)) to 3d matrix (D3d(?,215,395)), Thank you for any help.
>> Error using reshape
>> Product of known dimensions, 84925, not divisible into total number of elements, 340029.
M = 215,
L = 395,
M*L = 215*395 = 84925,
C1d(340029,1),
D3d=reshape(C1d,[],M,L);

1 Comment

340029 is neither divisible by 215 or 395 so how are you expecting it to reshape to that size?

Sign in to comment.

Answers (2)

Jan
Jan on 3 May 2019
This cannot work. There is no number, which satisfies 340029 = X * 215 * 395 , but reshape does not change the number of elements.
Farshid Daryabor
Farshid Daryabor on 4 May 2019
Actually "A(N=31,M=215,L=395)" is a 3d Matrix, converted to 1d Matrix "A1(N*M*L,1)"
I'm trying to find the values between 10-30 from the "K" matrix to index it for the "A1".
iz=find(K>10 & K<30);
C1d=A1(iz);
Then convert "C1d" to 3d "D3d".

1 Comment

The only time that can work is if the number of items in iz is divisible by 84925, which you cannot guarantee unless you know more about the K matrix.

Sign in to comment.

Categories

Asked:

on 3 May 2019

Commented:

on 4 May 2019

Community Treasure Hunt

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

Start Hunting!