Fill area under a curve
이전 댓글 표시
Is the right path to filling an area under a plot always area(X,Y)? Does it also work for more comlicated functions with hundres of plotting points?
댓글 수: 3
Regardless the number of points in a plot, area() will fill the area under the plot.
x=0:0.0001:10;
y=50*sin(x).*cos(x)-25*sin(x)+75*cos(x);
fprintf('The number of points plotted below is %d', numel(x))
area(x,y)
John D'Errico
2023년 3월 9일
@Nikola - since you already seem to know about area, why do you think it might not do what you want, since you seem to wonder if it will not work for you? Did you try something, and see something strange happen? Is there something confusing about the documentation for area that could perhaps be rectified? Please help us, so that we can better help you.
Nikola
2023년 3월 9일
답변 (2개)
Hi,
Yes, you can use area to plot the area under the curves for functions. I was not sure what you meant by "complicated function", but I tried to demonstrate the example using a relatively complicated function and quite a few data points.
x = linspace(0,2, 10000000);
y = sqrt(x)+power(x, 1/3)+526.*sin(1./x);
area(x, y)
Coloring the edges at the bottom -
You might need to adjust y-limits to see the baseline properly in your figure.
x = 0:0.0001:10;
y = 50*sin(x).*cos(x)-25*sin(x)+75*cos(x);
p = area(x,y);
%Change the Line style of baseline
p.BaseLine.LineStyle = '--';
%Make baseline prominent
p.BaseLine.Color = [1 0 0];
p.BaseLine.LineWidth = 2.5;
카테고리
도움말 센터 및 File Exchange에서 Axis Labels에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


