How can I calculate the areas between these two curves?

5 Ansichten (letzte 30 Tage)
Jose Aroca
Jose Aroca am 15 Jul. 2020
Kommentiert: Jose Aroca am 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});

Antworten (1)

Dinesh Yadav
Dinesh Yadav am 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 Kommentar
Jose Aroca
Jose Aroca am 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.

Melden Sie sich an, um zu kommentieren.

Produkte


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by