As a vector into a matrix of non-uniform length

7 Ansichten (letzte 30 Tage)
Lev Mihailov
Lev Mihailov am 5 Apr. 2022
Beantwortet: DGM am 5 Apr. 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

Akzeptierte Antwort

DGM
DGM am 5 Apr. 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

Weitere Antworten (0)

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by