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

En savoir plus sur Operators and Elementary Operations dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by