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 comentario

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

Iniciar sesión para comentar.

Respuestas (2)

Jan
Jan el 3 de Mayo de 2019

1 voto

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 el 4 de Mayo de 2019

0 votos

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 comentario

Walter Roberson
Walter Roberson el 4 de Mayo de 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.

Iniciar sesión para comentar.

Categorías

Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 3 de Mayo de 2019

Comentada:

el 4 de Mayo de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by