user3534657
user3534657

Reputation: 11

Taking average of one column with w.r.to other column

I have two columns in .std file. I want average of the second column values corresponding to all values ranging from some value (eg. 1.0- 1.9) in first column how can I program in Matlab?

Upvotes: 1

Views: 47

Answers (1)

RDizzl3
RDizzl3

Reputation: 846

Say, a is the name of your two column matrix. If you want to find all of the values in the first column in the range of 1.0 - 1.9 and then use those entries to find the mean in the second column you can do this:

f = find(a(:,1)>=1 & a(:,1)<=1.9)
m = mean(a(f,2))

find will find the values that lie within this range and return the index, and a(f,2) accesses those indices in the in the second column and takes the mean. You can also do it with one line like so:

m = mean(a((a(:,1)>=1 & a(:,1)<=1.9),2))

Upvotes: 3

Related Questions