필터 지우기
필터 지우기

I have two set data and I want to calculate the area in different x and plot the area curve with respect to X

조회 수: 1 (최근 30일)
For example
x=[1 1.5 1.7 2 2.2 2.6 2.8];
y=[0 2 6 7 8 10 5];
Now I wanted to plot the area under these data with respect to x

채택된 답변

Star Strider
Star Strider 2023년 10월 10일
Perhaps this —
x=[1 1.5 1.7 2 2.2 2.6 2.8];
y=[0 2 6 7 8 10 5];
int_y = cumtrapz(x, y);
figure
plot(x, y, 'DisplayName','Data')
hold on
plot(x, int_y, 'DisplayName','Cumulative Integral of ‘y’')
hold off
grid
xlabel('x')
ylabel('y')
legend('Location','NW')
.

추가 답변 (1개)

dpb
dpb 2023년 10월 10일
x=[1 1.5 1.7 2 2.2 2.6 2.8];
y=[0 2 6 7 8 10 5];
A=trapz(x,y); % the total area (one number)
a=cumtrapz(x,y); % each segment area (last is total)
[A a(end)] % show above is so...
ans = 1×2
9.8500 9.8500
plot(x,a,'-x') % plot the cumulative area, show where the data points are
See trapz and cumtrapz for further details...

카테고리

Help CenterFile Exchange에서 Graphics Performance에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by