MATLAB Answers

Integral3 is taking forever to finish computing integral

3 views (last 30 days)
Jr123
Jr123 on 4 Aug 2021
Commented: Walter Roberson on 14 Aug 2021
I have the following code:
fun = @(x,y,z,r,s,t) log((r.*s.*t).^2+1-2.*r.*s.*t*cos(x+y+z)).*cos(x+y+z)./(r.*s.*t);
A=integral3(@(r,s,t)arrayfun(@(r,s,t)integral3(@(x,y,z)fun(x,y,z,r,s,t),0,2*pi,0,2*pi,0,2*pi),r,s,t),1.01,100,1.01,100,1.01,100);
%B=integral3(@(r,s,t)arrayfun(@(r,s,t)integral3(@(x,y,z)fun(x,y,z,r,s,t),0,2*pi,0,2*pi,0,2*pi),r,s,t),0.1,.9,0.1,.9,0.1,.9,);
A
The value of A is not showing up even after half an hour. I wonder if there's something wrong with my code or it's just that this nested integral really takes some time to compute. Any help is greatly appreciated. Thanks!

Answers (1)

Walter Roberson
Walter Roberson on 4 Aug 2021
Edited: Walter Roberson on 4 Aug 2021
The nested integral (6 total levels) just takes a long time to compute.
  1 Comment
Walter Roberson
Walter Roberson on 14 Aug 2021
I have had the calculation going for the last 10 days, but it shows no sign of being finished any time soon.

Sign in to comment.

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!