Help with a for loop

1 Ansicht (letzte 30 Tage)
Marc Elmeua
Marc Elmeua am 7 Sep. 2020
Beantwortet: Mohammad Sami am 7 Sep. 2020
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 Kommentar
Rik
Rik am 7 Sep. 2020
If you want a table, have you read the documentation for how to create a table?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Mohammad Sami
Mohammad Sami am 7 Sep. 2020
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);

Weitere Antworten (0)

Kategorien

Mehr zu Environment and Settings finden Sie in Help Center und File Exchange

Produkte


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by