Integration in Matlab from negative to positive infinity

159 views (last 30 days)
Hi,
I tried using this syntax:
EDU>> syms x
EDU>> syms a
EDU>> syms L
EDU>> int(exp(-L*(x-a)^2), x = -infinity..infinity)
to evaluate an integral seen inside the parentheses over x, where L and a are just constants. However error showed up saying: | "Error: The expression to the left of the equals sign is not a valid target for an assignment."
Am I missing something? Also is Matlab a good tool for somebody working in physics/applied math who need to evaluate a lot of integrals? Would you recommend anything else more?
Thanks for all replies.

Accepted Answer

Yu Jiang
Yu Jiang on 11 Aug 2014
Edited: Yu Jiang on 11 Aug 2014
Hi Lukasz
I think Roger is right, and the equal sign is not necessary.
The link you provided is only for MUPAD (Link) , which is a symbolic computation GUI in MATLAB. The syntax in MUPAD may not be applicable to MATLAB command window.
So, I suggest you change the last line to
>> int(exp(-L*(x-a)^2), 'x', -inf, inf)
MATLAB is indeed very suitable for physics/applied math where integrals need to be evaluated.
If you would like to perform pure symbolic computations, you may type MUPAD in MATLAB command line and do it from there. You may also do symbolic computations in the MATLAB command line, but be careful about the syntax difference between MATLAB scripts and MUPAD.
If you prefer numerical computations, you may want to use numerical integration function such as trapz (Documentation) and integral (Documentation) .
-Yu

More Answers (1)

Roger Stafford
Roger Stafford on 10 Aug 2014
The equal sign "=" is what matlab is complaining about. Read the documentation and you will see no equal sign in the required call on 'int'.
  1 Comment
Lukasz
Lukasz on 11 Aug 2014
the equal sign is necessary. I wonder if it is the right way to write negative infinity in MATLAB?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!