Warning: Explicit integral could not be found in matlab

syms p e q ee eee
e=(((2*(3*p + 11)*(q/4 - 1/4))/(22*q - 9*p + 77) - (6*(p/4 - 1/4)*(q + 5))/(22*q - 9*p + 77))*((2304562637362637*(3*p + 11)*(q/4 - 1/4))/(524288*(22*q - 9*p + 77)) - (6913687912087911*(p/4 - 1/4)*(q + 5))/(524288*(22*q - 9*p + 77))) + ((4000000000*(p/4 - 1/4)*(2*q + 7))/(22*q - 9*p + 77) - (8000000000*p*(q/4 - 1/4))/(22*q - 9*p + 77))*((4*(p/4 - 1/4)*(2*q + 7))/(22*q - 9*p + 77) - (8*p*(q/4 - 1/4))/(22*q - 9*p + 77)))*((11*q)/4 - (9*p)/8 + 77/8);
ee=int(e,q,1,-1) eee=int(ee,p,1,-1)
I got Warning: Explicit integral could not be found in matlab I am using double,vpa but not getting answer
'e' is the only one element of 20X20 matrix
please help me

Answers (2)

So you want a symbolic solution. Not every problem has a symbolic solution.
Double and vpa are irrelevant. The result for ee was not computed, so it must give up there.
However, nothing stops you from using a numerical integration.
help integral2
You should try the 'simplify' function on 'e' before trying to integrate it. You will be surprised how much simplification is possible with your particular expression. The result should be the ratio of a single fourth-degree polynomial in p and q divided by a linear polynomial. The 'int' function really ought to be able to obtain the double integral of that. It's something elementary calculus students learn to do using partial fractions.

2 Comments

I did try the simplify when I wrote my response. int gives up on that too.
pretty(expand(e))
2 3 2 3
921375000000 p 91125000000 p 115500000000 q 11000000000 q 808901485714285587 p 1292859639560439357 q 177451323076923049
--------------- - -------------- + --------------- + -------------- - -------------------- + --------------------- + ------------------
#1 #1 #1 #1 2 #2 4 #2 4 #2
2 3 2 3
15120235463736261357 p 1680026162637362373 p 10114725415384613793 q 1242159261538461343 q 1267875000000 p 404250000000 q
+ ----------------------- - ---------------------- + ----------------------- + ---------------------- - --------------- + --------------
16 #2 16 #2 16 #2 8 #2 #1 #1
2 2 2 2
471625000000 7404559753846152681 p q 1680026162637362373 p q 724500000000 p q 103500000000 p q 263250000000 p q
+ ------------ - ------------------------ + ------------------------ - ---------------- - ----------------- + -----------------
#1 16 #2 4 #2 #1 #1 #1
12382415050549448601 p q
- ------------------------
8 #2
where
2 2
#1 == 81 p - 396 p q - 1386 p + 484 q + 3388 q + 5929
2 2
#2 == 42467328 p - 207618048 p q - 726663168 p + 253755392 q + 1776287744 q + 3108503552
I haven't used the symbolic toolbox on this but just eyeballing it I see this form in the expression:
e = ( (E1/F+E2/F)*(E3/F+E4/F) + (E5/F+E6/F)*(E7/F+E8/F) ) * F
where the E's are each of the form (a*p+b)*(c*q+d) and F is 22*q-9*p+77. If I've got this correct, one of the F's will cancel and this will simplify to
E9/F
where E9 is of the form
k1*p^2*q^2+k2*p^2*q+k3*p*q^2+k4*p*q+k5*p+k6*q+k7
From there it is just a matter of expanding it in partial fractions to prepare for integration wherein log(22*q-9*p+77) should pop up. I don't see why the symbolic toolbox can't do the same thing a whole lot faster than my poor brain can.
(There is the possibility that my eyeballing is erroneous. At my age these eyes don't work as well as they used to.)

Sign in to comment.

Products

Asked:

on 4 Apr 2015

Edited:

on 4 Apr 2015

Community Treasure Hunt

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

Start Hunting!