MATLAB Answers

Symbolic Toolbox: integration

6 views (last 30 days)
Igor
Igor on 12 Dec 2011
>> int('cos(x^2)^2')
Warning: Explicit integral could not be found.
ans =
int(cos(x^2)^2, x)
>> int('cos(2*x^2)')
ans =
(pi^(1/2)*fresnelC((2*x)/pi^(1/2)))/2
But there is a formula cos(2y)=2cos(y)^2)-1 and in first case MATLAB can't solve..
May be MuPAD forced to solve?

  9 Comments

Show 6 older comments
Walter Roberson
Walter Roberson on 13 Dec 2011
int(simple(sym('cos(x^2)^2')),'x')
Andrei Bobrov
Andrei Bobrov on 13 Dec 2011
I'm agree , Walter!
(Maple Toolbox)
http://imageshack.us/photo/my-images/843/symint3.png/
Andrei Bobrov
Andrei Bobrov on 13 Dec 2011
Last comment :)
http://imageshack.us/photo/my-images/402/symint4.png/
(for Maple Toolbox)

Sign in to comment.

Accepted Answer

bym
bym on 14 Dec 2011
Apparently you have to do the substitution manually
int(simple(cos(x^2)^2))
Warning: Explicit integral could not be found.
Using the sincos version returned by
simple(cos(x^2)^2)
yields this
int(cos(2*x^2)/2 + 1/2)
ans =
x/2 + (pi^(1/2)*fresnelC((2*x)/pi^(1/2)))/4
I could not find where the sincos 'simplification' is available outside the simple command as it is in Maple...maybe this is the reason Maple returns the result automagically ;)
[edit for completeness]
int(feval(symengine, 'combine', cos(x^2)^2, 'sincos'))
ans =
x/2 + (pi^(1/2)*fresnelC((2*x)/pi^(1/2)))/4

  4 Comments

Show 1 older comment
bym
bym on 14 Dec 2011
works well, my local documentation does not turn up an obvious help topic when searching for 'combine'
feval(symengine, 'combine', cos(x^2)^2, 'sincos')
ans =
cos(2*x^2)/2 + 1/2
thanks Walter
Igor
Igor on 14 Dec 2011
Yes, yes...
good construction with "combine"/"sincos"
But from the technical calculation point of view (as semi-analitical and fast integration is needed)
it's not good to think about integration procedure details...
And if more complex integral occures??
To ask own intuition?
Walter Roberson
Walter Roberson on 14 Dec 2011
Humans are better at seeing patterns or understanding context than machines are. It is *often* the case that a human will have to apply knowledge of theoretical equivalences in order to make progress in integration.
MuPAD is not as strong as some of the other products around, but _all_ of them are missing a lot of patterns.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!