How can I calculate three different shaded areas?
1 回表示 (過去 30 日間)
古いコメントを表示
I have three groups of sample points as attached, and intend to calculate three different shaded areas under curve from x = -40 to x = 30 by using for loop.
0 件のコメント
採用された回答
Star Strider
2024 年 9 月 20 日
Try this —
T1 = readtable('example.xlsx')
for k = 1:2:size(T1,2)
xv = T1{:,k};
yv = T1{:,k+1};
idxrng = (xv >= -40) & (xv <= 30);
AUC(ceil(k/2)) = trapz(xv(idxrng), yv(idxrng));
end
AUC
figure
tiledlayout(3,1)
for k = 1:2:size(T1,2)
% k
xv = T1{:,k};
yv = T1{:,k+1};
nexttile
plot(xv, yv)
hold on
idxrng = (xv >= -40) & (xv <= 30);
patch([xv(idxrng); flip(xv(idxrng))], [zeros(nnz(idxrng),1); flip(yv(idxrng))], 'r', 'FaceAlpha',0.5)
hold off
grid
end
.
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!