Rev 5763 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
16321 | bpr | 1 | !set methtit=Integración por partes |
20 | reyssat | 2 | !set methenv=ZZ QQ RR |
3 | !set methparmtype=parm function integrate, function, function |
||
16321 | bpr | 4 | !set methhelp=Este método aplica la integración por partes. |
20 | reyssat | 5 | |
6 | !if $wims_read_parm iswordof form check |
||
16321 | bpr | 7 | !goto $wims_read_parm |
20 | reyssat | 8 | !endif |
9 | |||
10 | !exit |
||
11 | :form |
||
16321 | bpr | 12 | Aplicar integración por partes en |
13 | !read deduc/methparm.phtml 1 |
||
20 | reyssat | 14 | $ : |
16321 | bpr | 15 | <div class="wimscenter"> |
16 | \(integrate(u*v'dx) = u*v - integrate(u'*v dx)) |
||
17 | </div> |
||
18 | <table class="wimsnoborder"> |
||
19 | <tr><td style="text-align:right"> oů \(u = ) </td><td> |
||
20 | !read deduc/methparm.phtml 2,30 |
||
21 | </td></tr> |
||
22 | <tr><td style="text-align:right"> et \(v = ) </td><td> |
||
23 | !read deduc/methparm.phtml 3,30 |
||
24 | </td></tr> |
||
25 | </table> |
||
20 | reyssat | 26 | |
27 | !exit |
||
28 | :check |
||
16321 | bpr | 29 | ker=!item 2 of $methparmobj1 |
30 | ker=!mathsubst integrate= in $ker |
||
31 | ker=!trim $ker |
||
32 | ker=!declosing $ker |
||
33 | !distribute items $ker into iker,ivar |
||
34 | vartest=!varlist $ivar |
||
35 | !if $ivar != $vartest |
||
20 | reyssat | 36 | error=Fail |
37 | !exit |
||
16321 | bpr | 38 | !endif |
20 | reyssat | 39 | |
16321 | bpr | 40 | mout=!exec maxima diff($methparm3,$ivar);\ |
20 | reyssat | 41 | diff($methparm2,$ivar); |
16321 | bpr | 42 | !distribute lines $mout into vprime,uprime |
43 | !if diff isvarof $vprime,$uprime or $vprime=$empty or $uprime=$empty |
||
20 | reyssat | 44 | :bad_data |
45 | error=bad_data |
||
46 | !exit |
||
16321 | bpr | 47 | !endif |
48 | !read deduc/sub/checkzero ($iker)-($methparm2)*($vprime)\ |
||
20 | reyssat | 49 | ($uprime)*($methparm3) |
16321 | bpr | 50 | !distribute lines $out into ztest1,ztest2 |
51 | !if $ztest1=$empty or $ztest2=$empty |
||
20 | reyssat | 52 | !goto bad_data |
16321 | bpr | 53 | !endif |
54 | !if $ztest1!=yes |
||
55 | error=Función incorrecta: \(uv') $m_neq \($iker) ! |
||
20 | reyssat | 56 | !advance penalty |
57 | !exit |
||
16321 | bpr | 58 | !endif |
59 | !read deduc/sub/simplify ($methparm2)*($methparm3)\ |
||
20 | reyssat | 60 | ($uprime)*($methparm3) |
16321 | bpr | 61 | !distribute lines $out into uv,uprimev |
62 | !if $ztest2=yes |
||
20 | reyssat | 63 | !if strictintegrate isin $m_options |
16321 | bpr | 64 | error=No está permitido tomar una constante para \(u).\ |
65 | Por favor, cambie su método. |
||
66 | !exit |
||
20 | reyssat | 67 | !else |
16321 | bpr | 68 | newobject1=($uv) |
20 | reyssat | 69 | !endif |
16321 | bpr | 70 | !else |
20 | reyssat | 71 | newobject1=($uv - integrate($uprimev,$ivar)) |
16321 | bpr | 72 | !endif |
73 | oldobject=1 |
||
74 | methexp=\(u=$methparm2), \(v=$methparm3) |
||
75 | |||
20 | reyssat | 76 | !exit |