Stretch a plot while keeping area under same
8 次查看(过去 30 天)
显示 更早的评论
I have a plot with x and y axis data. How can I strech it whilst keeping area under it same? Can you please provide an example.
Thanks!
0 个评论
回答(1 个)
DGM
2021-8-25
If you scale the curve in the X direction by a factor of 2, then scale the curve in Y by a factor of 1/2.
X = 0:100; % linear x
Y = rand(1,101); % random y
plot(X,Y)
A1x = trapz(X,Y) % area under the curve
A2x = trapz(2*X,Y) % area under the curve when X is stretched by 2
A2xc = trapz(2*X,Y/2) % corrected
Ignoring trying to intuit the calculus, it's easier to look at this in relative terms. Consider the curve occupying a rectangular box, wherein the area under the curve (Ac) occupies some fraction of the total area (At) of the box. If you scale one dimension of the box (and everything therein) by 2, the total area is doubled, but the area ratio remains constant. In other words, Ac is simply proportional to At.
If there's something other than a simple scale transformation going on (e.g. changing data extents), that may not hold true.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!