Integration in Matlab from negative to positive infinity

177 次查看(过去 30 天)
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.

采纳的回答

Yu Jiang
Yu Jiang 2014-8-11
编辑:Yu Jiang 2014-8-11
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

更多回答(1 个)

Roger Stafford
Roger Stafford 2014-8-10
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'.

Community Treasure Hunt

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

Start Hunting!

Translated by