Dear comunity,
I am using a COM interface to pull data from a data collection software. Problem is it pulls channel by channel and I have 80 channels per subject. So I am trying to pull it with a for loop as follows:
for i = 1:c %'c' is the number of channels
SR = h.invoke('GetPerChannelSampleRate',i); %gives sample rates for each channel
ch = h.invoke('GetChannelName',i) %gives names for each channel
x = h.invoke('ReadData', i, xmin, xmax); %gives signal of each channel
collated(i,:) = x; %collates all channels into an array
end
'collated' will nicely (but slowly) place each 'x' in consecutive rows. 'SR' is a 1x1 double and 'ch' a char.
Now I am struggling to get the loop to create a table with ch headers and SR values.
Any thoughts?
Thank you.

1 comentario

Rik
Rik el 7 de Sept. de 2020
If you want a table, have you read the documentation for how to create a table?

Iniciar sesión para comentar.

 Respuesta aceptada

Mohammad Sami
Mohammad Sami el 7 de Sept. de 2020

1 voto

Since you have an array you can use array2table function.
In your for loop change ch to a cell array.
ch{i} = h.invoke('GetChannelName',i);
Then you can create the table with variable names in ch variable.
collated = array2table(collated,'VariableNames',ch);

Más respuestas (0)

Categorías

Productos

Versión

R2018b

Etiquetas

Preguntada:

el 7 de Sept. de 2020

Respondida:

el 7 de Sept. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by