MATLAB Answers

0

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

Asked by xiaochen liu on 23 Apr 2019
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.

  0 Comments

Sign in to comment.

0 Answers