How do I evaluate this triple integral using the function integral3

xmin= @(y) y.^2
xmax= @(y) y.^0.5
ymin=0
ymax=1
zmin=0
zmax=@(x,y,z) x+y+36
h = @(y,x,z) 1 %dz dx dy
answer3 = integral3(h, ymin, ymax , xmin , xmax , zmin, zmax);
answer3 = vpa(answer3,8)
%%why doesnt this code work, can someone help me

 采纳的回答

xmin= @(y) y.^2
xmin = function_handle with value:
@(y)y.^2
xmax= @(y) y.^0.5
xmax = function_handle with value:
@(y)y.^0.5
ymin=0
ymin = 0
ymax=1
ymax = 1
zmin=0
zmin = 0
zmax=@(x,y,z) x+y+36
zmax = function_handle with value:
@(x,y,z)x+y+36
h = @(y,x,z) ones(size(y)) %dz dx dy
h = function_handle with value:
@(y,x,z)ones(size(y))
answer3 = integral3(h, ymin, ymax , xmin , xmax , zmin, zmax);
answer3 = vpa(answer3,8)
answer3 = 
12.3

3 个评论

what exactly does the ones(size(y)) does? (in context for the integral) I haven't used it
The integral() family of functions call the given function passing in vectors or arrays of values, expecting the same size of output, using element-wise computations.
So your h(y,x,z) was being called with non-scalar y, x, z, but you were returning the scalar constant 1 no matter what the input size was. You need to return one of those 1's for every input element.
oh i see, I understand it now. Thank you

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 COM Component Integration 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by