Numerical integration of area

6 次查看(过去 30 天)
Hi,
I know this must be so easy but I'm confused. I have a section such as this:
I have both variables depth and distance as vectors:
>> whos depth rotx
Name Size Bytes Class Attributes
depth 69x1 552 double
rotx 69x1 552 double
What is the right way to compute the section area?
Thanks!

采纳的回答

John D'Errico
John D'Errico 2024-7-30
编辑:John D'Errico 2024-7-30
The region in color? The integral will be negative, or course, since depth is entirely negative.
But you perform such an integration using trapz. The integration you need to do is the difference between the lower limit at any x, and the upper limit, which is 0. As such,
trapz(depth,0-rotx) % Not this, of course.
Read the help for trapz.
Edit: (Duh) Repairing my sleepy code:
trapz(rotx,0-depth)
  3 个评论
John D'Errico
John D'Errico 2024-7-30
编辑:John D'Errico 2024-7-30
Of course, I did. Is that not what I wrote? ;-)
I admit, I always forget, since trapz tries to be tricky. You can call it with 1 or 2 arguments. With 2 arguments, you call it as trapz(x,y), but with only one argument, it is just trapz(y). Personally, I never liked the way they did it.
help trapz
TRAPZ Trapezoidal numerical integration. Z = TRAPZ(Y) computes an approximation of the integral of Y via the trapezoidal method (with unit spacing). To compute the integral for spacing different from one, multiply Z by the spacing increment. For vectors, TRAPZ(Y) is the integral of Y. For matrices, TRAPZ(Y) is a row vector with the integral over each column. For N-D arrays, TRAPZ(Y) works across the first non-singleton dimension. Z = TRAPZ(X,Y) computes the integral of Y with respect to X using the trapezoidal method. X can be a scalar or a vector with the same length as the first non-singleton dimension in Y. TRAPZ operates along this dimension. If X is scalar, then TRAPZ(X,Y) is equivalent to X*TRAPZ(Y). Z = TRAPZ(X,Y,DIM) or TRAPZ(Y,DIM) integrates across dimension DIM of Y. The length of X must be the same as size(Y,DIM)). Example: Y = [0 1 2; 3 4 5] trapz(Y,1) trapz(Y,2) Class support for inputs X, Y: float: double, single See also SUM, CUMSUM, CUMTRAPZ, INTEGRAL. Documentation for trapz doc trapz Other uses of trapz codistributed/trapz gpuArray/trapz
So, yes. I meant to write
trapz(rotx,0-depth)
And apparently, my fingers got in the way of my head.
user20912
user20912 2024-7-30
I feel it is easy but confuses me every time. Thanks for you help :)

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Numerical Integration and Differentiation 的更多信息

产品


版本

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by