Warning: Explicit integral could not be found in matlab
Show older comments
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)
John D'Errico
on 4 Apr 2015
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
Roger Stafford
on 4 Apr 2015
0 votes
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
John D'Errico
on 4 Apr 2015
Edited: John D'Errico
on 4 Apr 2015
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
Roger Stafford
on 4 Apr 2015
Edited: Roger Stafford
on 4 Apr 2015
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.)
Categories
Find more on Conversion Between Symbolic and Numeric in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!