Averaging data

1 Ansicht (letzte 30 Tage)
Marcel
Marcel am 9 Aug. 2011
Hello,
I'm having difficult time trying to average my data. I have data which look like this
time1 = [0.14 0.99 1.67 2.45 3.10 3.70 4.24 5.00]
res1 = [4 6 2 9 1 0 4 7]
time2 = [0.11 0.69 1.00 1.45 1.66 2.04 2.24 2.99 3.11 3.43 4.25
4.55 5.00]
res2 = [8 1 5 3 7 1 3 10 9 5 3 2 1]
time3 = [0.09 0.33 1.13 1.44 2.10 2.70 3.24 4.00 4.80 5.00]
res3 = [0 3 4 7 2 6 3 4 9 8]
The period of time is always 5 min but there is different number of responses given during this time. These responses showing only a change at particular time and the value between time intervals is constant. I'd like to plot average of the data using a stairs function. Any help highly appreciated.

Akzeptierte Antwort

Oleg Komarov
Oleg Komarov am 9 Aug. 2011
time1 = [0.14 0.99 1.67 2.45 3.10 3.70 4.24 5.00];
res1 = [4 6 2 9 1 0 4 7];
axis([0 5 0 10])
hold on
% Plot stairs
stairs(time1,res1)
% Plot average
avg = sum(diff([0 time1])/time1(end) .* res1);
line([0,time1(end)],[avg avg],'Color','r')
One clarification, is the first element of res1 - 4 - valid from 0 to 0.14 or as it is it's ok?
EDIT
% unique time vector
untime = unique([time1 time2 time3]);
% Idx
[trash,idx1] = histc(untime,[0 time1(1:end-1) inf]);
[trash,idx2] = histc(untime,[0 time2(1:end-1) inf]);
[trash,idx3] = histc(untime,[0 time3(1:end-1) inf]);
rep = [res1(idx1); res2(idx2); res3(idx3)];
avg = mean(rep);
hold on
% Plot all the lines
stairs(untime,rep.')
% Plot the average in black
stairs([0 untime], [9 avg],'Color','k','Linew',2)
  8 Kommentare
Fangjun Jiang
Fangjun Jiang am 9 Aug. 2011
or untime=unique([time1,time2,time3]) should work and is better.
Oleg Komarov
Oleg Komarov am 9 Aug. 2011
forgot to post it...it was exactly that!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Marcel
Marcel am 10 Aug. 2011
Thanks very much guys. This is exactly what I was looking for. I realy appreciate your help.
  4 Kommentare
Marcel
Marcel am 12 Aug. 2011
Thanks Oleg, you are very helpfull.
What is the best option to plot error bars in my case? I was trying to use errorbar function but did not work very well for me...
Oleg Komarov
Oleg Komarov am 12 Aug. 2011
What behaviour did you observe with error bar that didn't satisfy you?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Data Type Conversion finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by