MATLAB Answers

How can I calculate the areas between these two curves?

4 views (last 30 days)
Jose Aroca
Jose Aroca on 15 Jul 2020
Commented: Jose Aroca on 26 Jul 2020
I need to calculate both areas A and B that lie between these two curves. The curves are extracted form two text files, which are attatched. The code below shows how the graph is produced.
close all
clearvars
DM = readtable('FF677-Di01.txt');
plot (DM{:,1},DM{:,2})
hold on
AF = readtable('Alexa Fluor 647 - Em.txt');
plot (AF{:,1},AF{:,2})
A = intersect(DM{:,1}, AF{:,1});
xlim ([500 900])
hold on
AArea = trapz(AF{:,1},AF{:,2});
DMArea = trapz(DM{:,1},DM{:,2});

  0 Comments

Sign in to comment.

Answers (1)

Dinesh Yadav
Dinesh Yadav on 22 Jul 2020
To calculate the area B change the follwing line of code
AArea = trapz(AF{:,1},AF{:,2});
to
AArea = abs(trapz(AF{:,1},(AF{:,2} - DM{:,2} )));
and to compute area A calculate the area under the AF and subtract AArea from it
DMArea = abs(trapz(AF1{:,1},AF{:,2} - AArea);

  1 Comment

Jose Aroca
Jose Aroca on 26 Jul 2020
Hi. First of allm thank you for your answer. I have tried adding your suggestions but I don't think I get the correct answer. I get an area for B of about 490, when it should be about 20.5, and therefore the area calculated for A is also wrong. I am not sure how to correct this.

Sign in to comment.

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!