Subversion Repositories wimsdev

Rev

Rev 5763 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

!set methtit=Cut an integration into two
!set methenv=ZZ QQ RR
!set methparmtype=parm function integrate, function
!set methhelp=This method allows to write \(integrate(A+B,t)) in\
 \(integrate(A,t) + integrate(B,t)).

!if $wims_read_parm iswordof form check
 !goto $wims_read_parm
!endif

!exit
:form
 !set N=!linecnt $mtobj1
 !reset methparm3
 !if $N>1 and $methsubstep=1
  :first
  !set methsubstep=2
  Choose the integral to cut: <p>
  !read deduc/methparm.phtml 1
 !else
  !bound methparm1 between integer 0 and $N default 1
  !if $methparm1=0 or $error!=$empty
   !goto first
  !endif
  <input type=hidden name=methparm1 value=$methparm1>
  !set methsubstep=1
  !set l=!line $methparm1 of $mtobj1
  !set l=!item 2 to -1 of $l
  !set k=!mathsubst integrate= in $l
  !set k=!declosing $k
  !set v=!item 2 of $k
  Write \($l = integrate(f1($v),$v) + integrate(f2($v),$v)), where
  <p>
  \(f1($v) = ) <input size=30 name=methparm2 value="$methparm2"> (mandatory), <br>
  \(f2($v) = ) <input size=30 name=methparm3> (optional).
 !endif
!exit
:check
 ker=!item 2 of $methparmobj1
 ker=!mathsubst integrate= in $ker
 ker=!trim $ker
 ker=!declosing $ker
 !distribute items $ker into iker,ivar
 vartest=!varlist $ivar
 !if $ivar != $vartest
  error=Fail
  !exit
 !endif

 !if $methparm3=$empty
  !read deduc/sub/simplify ($iker)-($methparm2)
  !if $out=$empty
   error=bad_data
   !exit
  !endif
  methparm3=$out
 !else
  wims_rawmath_variables=$variables
  methparm3=!rawmath $methparm3
 !endif
 !read deduc/sub/checkzero ($iker)-($methparm2)-($methparm3)
 !if $out=$empty
  error=bad_data
  !exit
 !endif
 !if $out!=yes
  error=Bad addition. Please correct.
  !exit
 !endif
 
 newobject1=(integrate($methparm2,$ivar)+integrate($methparm3,$ivar))
 oldobject=1
 !reset methparm3
 methexp=
!exit