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.

 采纳的回答

KSSV
KSSV 2020-7-18

1 个投票

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

4 个评论

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.

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?

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Numerical Integration and Differentiation 的更多信息

产品

标签

Community Treasure Hunt

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

Start Hunting!

Translated by