calculate and fill an area between a line and a curve
15 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Enzo
el 11 de Dic. de 2022
Comentada: Paul
el 14 de Dic. de 2022
Hello everyone,
according to the following graph, I would like to fill and compute the area enclosed by the black line and the curve. I need to fill and compute the whole area, which is well under the zero for the curve)
for the line I have 4 points (x1,y1; x2, y2)
and for the curve I have 25.000 points (it's a LFP signal, close to an EEG).
Thanks for your help!
0 comentarios
Respuesta aceptada
Stephan
el 11 de Dic. de 2022
Editada: Stephan
el 11 de Dic. de 2022
A similar discussion here: https://de.mathworks.com/matlabcentral/answers/1870667-i-got-the-problem-with-polyshape-please-help-me. Once you have the polyshape object you can use the area function on it to calculate the enclosed area for example.
Más respuestas (1)
Paul
el 11 de Dic. de 2022
Editada: Paul
el 11 de Dic. de 2022
Hi Enzo,
I think fill is what you might be looking for. Assuming that (x1,y1) and (x2,y2) are points on the blue data curve as suggested by the picture in the Question, then we can do this. If that assumption is incorrect, please provide more info on how the endpoints of the black segment relate to the data.
rng(100);
x = 1:25;
y = randn(1,25);
plot(x,y)
grid
x1 = x(7);y1=y(7);
x2 = x(9);y2=y(9);
hold on
plot([x1 x2],[y1 y2],'k','LineWidth',3)
fill([x(7:9)],[y(7:9)],'r')
area(polyshape(x(7:9),y(7:9)))
2 comentarios
Paul
el 14 de Dic. de 2022
Can you post relevant data and code to illustrate the problem that you're having?
Ver también
Categorías
Más información sobre 2-D and 3-D Plots en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!