Area between two curves that plotted by importing datapoints
Mostrar comentarios más antiguos
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 comentarios
Walter Roberson
el 20 de Jun. de 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
el 20 de Jun. de 2020
Walter Roberson
el 21 de Jun. de 2020
mask = -0.3 <= x & x <= 3.3;
trapz(t1(mask))
KSSV
el 21 de Jun. de 2020
You canget the intersection points using this function:
Respuestas (0)
Categorías
Más información sobre Numerical Integration and Differentiation en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!