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 commentaire

Adam
Adam le 3 Mai 2019
340029 is neither divisible by 215 or 395 so how are you expecting it to reshape to that size?

Connectez-vous pour commenter.

Réponses (2)

Jan
Jan le 3 Mai 2019

1 vote

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 le 4 Mai 2019

0 votes

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 commentaire

Walter Roberson
Walter Roberson le 4 Mai 2019
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.

Connectez-vous pour commenter.

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by