OxidisedLizard

0 Reputation

2 Badges

12 years, 155 days

MaplePrimes Activity


These are replies submitted by OxidisedLizard

Brilliant, thanks!  I had been sort-of-solving the problem by chopping the integral up into little bits, but this is much faster to compute.  Thanks also to all previous contributors to this thread.

Brilliant, thanks!  I had been sort-of-solving the problem by chopping the integral up into little bits, but this is much faster to compute.  Thanks also to all previous contributors to this thread.

@Markiyan Hirnyk  I can see that it works in your file, but it doesn't in mine (which is why I tried sticking 'evalf' on).  Perhaps it's because you're using a newer version of Maple, and mine (Maple 12) can't handle this 'method=_d01akc'?  I've posted the contents of my file below so you can see what I get.

func:=.2359951354e-4/Pi*exp(-800000000.0*(r-.375e-4)^2)*int(-k^2*BesselJ(1.,k*r)*exp(-.1757812500e-9*k^2)/(.66e-2*k^2+2423.07),k = 0. .. Float(infinity));

func := (0.2359951354e-4*exp(-800000000.0*(r-0.375e-4)^2)/Pi)*(int(-k^2*BesselJ(1., k*r)*exp(-0.1757812500e-9*k^2)/(0.66e-2*k^2+2423.07), k = 0. .. Float(infinity)))

(1)

plot(func, r = -0.200e-3 .. 0.200e-3);

 

int(unapply(func, r),-0.100e-3..0.100e-3,method=_d01akc);

int(proc (r) options operator, arrow; (0.2359951354e-4*exp(-800000000.0*(r-0.375e-4)^2)/Pi)*(int(-k^2*BesselJ(1., k*r)*exp(-0.1757812500e-9*k^2)/(0.66e-2*k^2+2423.07), k = 0. .. Float(infinity))) end proc, -0.100e-3 .. 0.100e-3, method = _d01akc)

(2)

 


Download Bessel.mws

@Markiyan Hirnyk  I can see that it works in your file, but it doesn't in mine (which is why I tried sticking 'evalf' on).  Perhaps it's because you're using a newer version of Maple, and mine (Maple 12) can't handle this 'method=_d01akc'?  I've posted the contents of my file below so you can see what I get.

func:=.2359951354e-4/Pi*exp(-800000000.0*(r-.375e-4)^2)*int(-k^2*BesselJ(1.,k*r)*exp(-.1757812500e-9*k^2)/(.66e-2*k^2+2423.07),k = 0. .. Float(infinity));

func := (0.2359951354e-4*exp(-800000000.0*(r-0.375e-4)^2)/Pi)*(int(-k^2*BesselJ(1., k*r)*exp(-0.1757812500e-9*k^2)/(0.66e-2*k^2+2423.07), k = 0. .. Float(infinity)))

(1)

plot(func, r = -0.200e-3 .. 0.200e-3);

 

int(unapply(func, r),-0.100e-3..0.100e-3,method=_d01akc);

int(proc (r) options operator, arrow; (0.2359951354e-4*exp(-800000000.0*(r-0.375e-4)^2)/Pi)*(int(-k^2*BesselJ(1., k*r)*exp(-0.1757812500e-9*k^2)/(0.66e-2*k^2+2423.07), k = 0. .. Float(infinity))) end proc, -0.100e-3 .. 0.100e-3, method = _d01akc)

(2)

 


Download Bessel.mws

Thanks for your help, but for some reason this still doesn't work for me.  Your expression doesn't give me a numerical answer, so I tried:

evalf(int(unapply(func, r), -0.60e-4 .. 0.100e-3, method = _d01akc));

which returns:

Error, (in evalf/int) cannot handle unevaluated name `k` in evalhf

Thanks for your help, but for some reason this still doesn't work for me.  Your expression doesn't give me a numerical answer, so I tried:

evalf(int(unapply(func, r), -0.60e-4 .. 0.100e-3, method = _d01akc));

which returns:

Error, (in evalf/int) cannot handle unevaluated name `k` in evalhf

@pagan Sorry, w=37.5E-6. lprint(func) returns:

.2359951354e-4/Pi*exp(-800000000.0*(r-.375e-4)^2)*int(-k^2*BesselJ(1.,k*r)*exp(-.1757812500e-9*k^2)/(.66e-2*k^2+2423.07),k = 0. .. Float(infinity))

@Markiyan Hirnyk Sorry - I'm new here and wasn't sure how best to present it.  Here's the text you need to type into Maple to get the expressions (for some reason the 'Maple Math' thing on this forum wouldn't accept it).

The function:

func:=(((2*0.005/(Pi*50E-6^2))*exp(-2*(r-37.5E-6)^2/50E-6^2))/int((((2*0.005/(Pi*50E-6^2))*exp(-2*(r-37.5E-6)^2/50E-6^2))),r=-infinity..infinity))*(diff((w^2*1.339/4*evalf(int((k*BesselJ(0,k*r)*exp(-37.5E-6^2*k^2/8))/(0.0066*k^2+247*9.81),k=0..infinity))),r));

The plot:

plot(func,r=-200E-6..200E-6);

An integral which works (but takes quite a while to calculate):

int(func,r=-100E-6..100E-6);

An example of one which doesn't result in a numerical answer:

int(func,r=-60E-6..100E-6);

Another example which doesn't work:

int(func,r=-100E-6..101E-6);

Please let me know if you need any more information.

 

 

Page 1 of 1