As a vector into a matrix of non-uniform length

조회 수: 2(최근 30일)
Lev Mihailov
Lev Mihailov 2022년 4월 5일
답변: DGM 2022년 4월 5일
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

채택된 답변

DGM
DGM 2022년 4월 5일
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

추가 답변(0개)

Community Treasure Hunt

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

Start Hunting!

Translated by