Convert vector to matrix
3 views (last 30 days)
Show older comments
How can I convert a vector of 30482x1 (it is the accumulated of 4 measurements of 17 min at 8 hz) to a matrix that has columns of 8160 data.
3 Comments
dpb
on 26 Jul 2022
On top of which, given the statement that "it is ... 4 measurements of 17 min at 8 hz)"
>> mod(30482,4)
ans =
2
>>
so the list isn't a complete set of four.
Accepted Answer
dpb
on 26 Jul 2022
Given the above problems regarding the number of elements in the vector vis a vis the number of channels (and it can't be there's a timestamp as it's also not divisible by five), the best you can do is something like
N=numel(x); % x is the data vector, determine how long it actually is
nCh=4; % the supposed number of channels/columns
M=N-mod(N,nCh); % how many nCh records there actually are
x=reshape(x(1:M),[],nCh); % keep M samples; reshape() to nCh columns
NB --
>> 8160*4
ans =
32640
>>
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!