How to calculate the area of the green shaded region in MATLAB
显示 更早的评论
Hello,
Could you please guide me how to calculate the area of the green shaded region (between blue and red curve) of the attached figure in MATLAB. Please see the attached pic named "how to calculate area".

Blue line has the value of 1 p.u and is a straight horizontal line.
Thanks
回答(3 个)
Image Analyst
2015-1-30
0 个投票
Exactly what form is your data in? An image file? An equation? A list of (x,y) coordinates in a MATLAB variable? Do you have those 3 (x,y) pairs you show in the annotation? Exactly what are you starting with? If you have the three points, can't you just use the formula for a triangle: area = (1/2)*base*height???
4 个评论
Farhan
2015-1-30
Image Analyst
2015-1-30
Where did you post the "more zoomed in view"? Can't you just use quad()? Or even polyarea()???
Farhan
2015-1-30
Farhan
2015-2-2
Is it not possible to simply calculate the difference between your y-values and the straight line, take the mean of every 2 neigboring y-values, then multiply those values by your x-spacing and then sum all the values between x = 2166 and x = 5590? ie.
spc = 1; % spacing of x-values
x = 1:spc:20; % full x-range
x_min = 5; % lower boundary of interest
x_max = 12; % upper boundary of interest
y = 30-0.5*x + rand(1,numel(x)); % y-values for full x-range
y_ref = 30; % reference value for y
y_means = mean([y(1:end-1); y(2:end)],1) - y_ref;
y_range = y_means(x(x==x_min):x(x==x_max-1));
y_int = sum(y_range*spc);
Or more simple:
y_int = trapz(x_min:x_max,y(x_min:x_max));
类别
在 帮助中心 和 File Exchange 中查找有关 Data Exploration 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!