As a vector into a matrix of non-uniform length

6 visualizaciones (últimos 30 días)
Lev Mihailov
Lev Mihailov el 5 de Abr. de 2022
Respondida: DGM el 5 de Abr. de 2022
I have an array of length n I need to make a 10xEnd matrix out of it
x = rand(1,1003); % n = 1003, 2055 , 7062
Data=reshape(x,10,[]);
Error using reshape
Product of known dimensions, 10, not divisible into total number of elements, 1003.
% the remaining 3 , 5 and 2 values ​​can be ignored
How can this be fixed?
Thank you in advance

Respuesta aceptada

DGM
DGM el 5 de Abr. de 2022
Here's one way
x = rand(1,123); % n = 1003, 2055 , 7062
m = 10; % output array height
trimlen = floor(numel(x)/m)*m; % number of elements in result
Data = reshape(x(1:trimlen),m,[]);
size(Data)
ans = 1×2
10 12

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by