How to do Double numerical integration with a variable limits

11 次查看(过去 30 天)
Can someone please help me in doing numerical integration on the following function, I want to do double numerical integration with respect to y and x, such that the final answer will be a function of z only. Also the limit of integration is not a constant, it is basically something like (x-y, x+y), not sure if there exist a way to do this, can someone please advise me on how to proceed?
Thank you
  10 个评论
Torsten
Torsten 2022-9-4
The integral (once it is correctly written) could be considered as a function of z. Then numerical integration can be carried out.
Abdulaziz Al-Amodi
编辑:Abdulaziz Al-Amodi 2022-9-6
z is always positive, I made a mistake when I wrote -inf, was just trying to understand the implementation of it.
I found 'vpaintegral' and it looks promising but it is very slow to compute.
Thank you for your help

请先登录,再进行评论。

采纳的回答

Matt J
Matt J 2022-9-6
编辑:Matt J 2022-9-6
I'll demonstrate for a simpler function. The technique is the same regardless of what function we're integrating.
F=@(x,y,z) x.^2+y.^2+z.^2; %The input function to be integrated
Iyz=@(y,z)integral( vect(@(q)F(q,y,z)), z-y,z+y); %partial integral w.r.t. x
Iz=@(z) integral( vect(@(q)Iyz(q,z)) , 0,z); %partial integral w.r.t. y
Iz(1)
ans = 2.6667
function fun=vect(fun)
%vectorize a non-vectorized function
fun=@(x) arrayfun(fun,x);
end
  6 个评论
Torsten
Torsten 2022-9-8
编辑:Torsten 2022-9-8
Yes, the square root in the denominator is quite ambitious ... When it gives real values and when it is different from 0 ... To take care of it in the integration limits for x,y and z won't be easy - be it with or without Mathematica.

请先登录,再进行评论。

更多回答(0 个)

类别

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

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by