Hello, I'd really like to know how to calculate the area beneath a shape like this:
So from the outer borders to x-axis. Since the values are repeating I reckon trapz() doesn't work.

 Accepted Answer

KSSV
KSSV on 18 Jul 2020

1 vote

Read about polyarea, convhull.
convhull gives you coordinates of the points which defines your shape, with these corodinates youc an use polyarea.

4 Comments

Niklas Kurz
Niklas Kurz on 18 Jul 2020
Edited: Niklas Kurz on 18 Jul 2020
Thank you for you answere at first.
Yea, I used a similar code to calculate the area of the shape:
b = boundary(Xp,Yp)
X0=Xp(b); Y0 = Yp(b)
A = polyarea(X0,Y0)
Surprisingly (kind of) this works as well with
k = convhull(Xp,Yp)
The thing is, I want to compute the area under the figure, not inside. My formulation was a bit ambiguous. Sadly I couldn't yet find an answere to this issue here.
KSSV
KSSV on 18 Jul 2020

Pick the curve you want to find area under and use trapz.

I thought there'd be a more elegant solution like with
area(Yp,Xp)
I can cast the shadow of the shape, but nothing more.
Well, I keep it simple and extract a curve manually as u advised. This works at the least.
If u need some inspiration: This User has answered the question sophisticatedly:
https://de.mathworks.com/matlabcentral/answers/565277-how-to-apply-a-fit-on-this-shape?

Sign in to comment.

More Answers (0)

Products

Tags

Asked:

on 18 Jul 2020

Commented:

on 19 Jul 2020

Community Treasure Hunt

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

Start Hunting!