フィルターのクリア

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 Center および File ExchangeGraphics Performance についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by