Standard deviation across plots

I am trying to do an analysis where I would need to analyse the consistency across trials: refers to the first picture below. Each line represents one trial. There are 9 to 11 trials altogether. I want to plot the average value between the lines as well as plotting and calculating the standard deviation across trial (so that there will be one average trial value and shaded grey area which represent the distribution of data).
Any idea on how to do this?

4 Comments

Yona
Yona on 15 Feb 2016
Edited: Yona on 15 Feb 2016
i am not sure this is what you want but you have errorbar.m function that show the std in each point (not an area).
If you want area you can use area.m funstion by calculate the mean and the std and then you will have 3 points set. mean-std, std and std (area is acumulative, so mean is (mean-std)+std).
the errorbar is only for one plot. I have 12 different plots
The average of all plot is 1 plot.
if you have
x1 = [1 2 4];
x2 = [1.1 1.9 3.7];
x3 = [0.9 1.9 3.85];
the average is: [1 1.9333 3.85];
the std is: [0.1 0.577 0.15];
the problem is i do not have the same data size for each line.

Sign in to comment.

 Accepted Answer

Hi Sarah,
You can take the approach described by Yona in earlier comments. If you don't have same number of data in all the vectors as you mentioned, you can use in built 'interp1' function to interpolate the missing values for shorter vector. The syntax is as below:
>>vq = interp1(x,v,xq)
where 'x' is the vector of x axis coordinates and 'v' is the vector corresponding values and 'xq' is the query point.
For more detail about 'interp1', refer to following link:

More Answers (0)

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Asked:

on 15 Feb 2016

Answered:

on 23 Feb 2016

Community Treasure Hunt

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

Start Hunting!