Convert vector to matrix

2 Ansichten (letzte 30 Tage)
Andres Ulloa
Andres Ulloa am 26 Jul. 2022
Kommentiert: Andres Ulloa am 26 Jul. 2022
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 Kommentare
Fangjun Jiang
Fangjun Jiang am 26 Jul. 2022
reshape()
dpb
dpb am 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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

dpb
dpb am 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
>>

Weitere Antworten (0)

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Produkte


Version

R2015a

Community Treasure Hunt

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

Start Hunting!

Translated by