computing area between 2 curves

1 view (last 30 days)
Vijay
Vijay on 3 Jul 2012
I have two curves from the 2 vetctors as a result of simulation. I want to find the area between these 2 curves. The curves are intersecting many times.
any ideas are appreciated!!

Accepted Answer

AC
AC on 4 Jul 2012
Hi,
From scratch, you could try something like:
1/2*(abs(C1(2:end)-C2(2:end))+abs(C1(1:end-1)-C2(1:end-1)))*diff(I)'
where C1 and C2 are your curves and I the x-axis.
This will give you an estimate of the integral of C1(t)-C2(t) dt for t in I.
Cheers,
AC
  4 Comments
Vijay
Vijay on 23 Jul 2012
if X is a vector from 1:10 say X-axis. then diff(X) is a vector of '1' nine times. What is the use of multiplying it??

Sign in to comment.

More Answers (1)

Luffy
Luffy on 3 Jul 2012
If u know the vectors then try using polyarea & subtract them
  3 Comments
AC
AC on 4 Jul 2012
Hi,
Substracting the two areas is ok if the curves don't cross and you substract in the right order (that is: highest - lowest). Otherwise you will end up with a wrong result. For example, take sin(x) and cos(x) between 0 and 2: int cos(t)-sin(t) dt = -0.5 approx. int abs(cos(t)-sin(t)) dt= 1.33 approx.
It's the second one that you want. So you should compute the area of the difference in absolute value (see my response below). Cheers,
AC

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!