Warning: Explicit integral could not be found in matlab
Afficher commentaires plus anciens
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
Réponses (2)
John D'Errico
le 4 Avr 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
le 4 Avr 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 commentaires
John D'Errico
le 4 Avr 2015
Modifié(e) : John D'Errico
le 4 Avr 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
le 4 Avr 2015
Modifié(e) : Roger Stafford
le 4 Avr 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.)
Catégories
En savoir plus sur Conversion Between Symbolic and Numeric dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!