triple integral,"Reached the maximum number of function evaluations (10000). The result fails the global error test"

5 views (last 30 days)
clear all;clc;
r=linspace(0,3^(-4),100);sita=linspace(0,2*pi,100);fai=linspace(-0.5*pi,0.5*pi,100); %Integral range, one ball
beita=5000000;
xmin = 0; %The following is the integral interval
xmax = 0.0003;
ymin =-0.5*pi;
ymax = 0.5*pi;
zmin =0;
zmax = 2*pi;
f1=@(r,fai,sita) exp(-1i*(beita).*r.*sin(fai)); %The integral of an exponential function,"beita" is too large
jifen=integral3(f1,xmin,xmax,ymin,ymax,zmin,zmax)
The error message:
Warning: Reached the maximum number of function evaluations (10000). The result fails the
global error test.
> In integral2Calc>integral2t (line 129)
In integral2Calc (line 9)
In integral3/innerintegral (line 137)
In integralCalc/iterateScalarValued (line 314)
In integralCalc/vadapt (line 132)
In integralCalc (line 75)
In integral3 (line 121)
In integral_4_23 (line 32)
Warning: The integration was unsuccessful.
> In integral3integral3 (line 125)
In integral_4_23 (line 32)
jifen =
NaN
I want to know how to have the right answer, if "beita" is smaller than that, the program has an answer, but is not right.

Answers (0)

Categories

Find more on Operating on Diagonal Matrices in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!