Numerical Integration from -Inf to Inf

46 views (last 30 days)
Vira Roy
Vira Roy on 5 Dec 2019
Commented: Vira Roy on 5 Dec 2019
Problem: I have the following integral which i need to evaluate numerically.
Now i have to do this for different values of c and γ, but for now let us say c=0.1 and
My attempt: After reading few already available answers and documentation, i tried the following
gamma =3;
fun = @(x) (x.*exp(-x.^2)).*(((x+0.1).^2) .* (exp(2.*(x+0.1).^2 .*gamma.^2)));
format long
q1 = integral(fun,-Inf,Inf,'RelTol',1e-8,'AbsTol',1e-13)
Result: The output i get is Nan
Any help or advice will be helpful to me.
Thanks.

Answers (1)

Birdman
Birdman on 5 Dec 2019
Try the symbolic approach and consider the problem as follows:
syms x
F(x)=x*(x+0.1)^2*exp(2*(x+0.1)^2*3^2)*exp(-x^2);
After this point, you need to break it down to two pieces while calculating integral:
INT1=int(F,x,-inf,0);
INT2=int(F,x,0,inf);
The sum of these two will give the correct result.
  3 Comments
Birdman
Birdman on 5 Dec 2019
I think you don't miss anything. Just plot the function for some x values and see if -Inf and Inf outputs make sense or not:
x=-5:0.001:5;
plot(x,F(x))
Vira Roy
Vira Roy on 5 Dec 2019
Birdman,
The graph is coming out to be fine, but what i was looking for was some specific value for the integral so that i can later plot that obtained result for varying values of gamma(which i have taken to be 3 here but plan to obtain a continous graph for all possible values of gamma)
Is there someway to do that from what you sugggested above.
Thank you, and sorry for being bit blunt here. You help is dearly appreciated.

Sign in to comment.

Products


Release

R2016a

Community Treasure Hunt

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

Start Hunting!