Area between two curves that plotted by importing datapoints
Show older comments
Hello
I have two curves imported from excel and ploted as shown in the figure below. How can I calculate the red area between the two curves. And also it is possible to assigned a color in the area.

clc
close all
clear all
a=xlsread('D:\Folder.xlsx','Sheet1','A1:A237');
b=xlsread('D:\Folder.xlsx','Sheet1','B1:B237');
x=linspace(80,250,237);
y = zeros(237,1);
y(:)=0.1465;
plot(x,y,a,b)
4 Comments
Walter Roberson
on 20 Jun 2020
You have to figure out the crossing points. Once you have figured out the x that they have in common, then you can trapz() one, minus trapz() the other, to get the area between.
You would then also be able to use fill() . The trick there is to construct
XF = [first_x_ascending_order, fliplr(second_x_ascending_order)]
YF = [first_y_in_x_order, fliplr(second_y_in_x_order)];
fill(XF, YF)
That is, you want a line that goes along the first x, then backwards along the second x, so that you get back to the common origin.
friet
on 20 Jun 2020
Walter Roberson
on 21 Jun 2020
mask = -0.3 <= x & x <= 3.3;
trapz(t1(mask))
KSSV
on 21 Jun 2020
You canget the intersection points using this function:
Answers (0)
Categories
Find more on Numerical Integration and Differentiation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!