Convert vector to matrix
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Andres Ulloa
el 26 de Jul. de 2022
Comentada: Andres Ulloa
el 26 de Jul. de 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 comentarios
dpb
el 26 de Jul. de 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.
Respuesta aceptada
dpb
el 26 de Jul. de 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
>>
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!