change of variables



This is a first step to allow more a general change of variables in an integration

of the form integrate(f(u(x)) * diff(u(x),x,1),x) 

I:'integrate(expre,x);



change(expre,x):=(
    matchdeclare(var,symbolp),
    defmatch(dvar,'diff(var(x),x,1),x),
    factores:args(factor(expre)),
    for f in factores do
        if not(dvar(f,x)=false) then 
        (vari:subst(dvar(f,x),var),
        expre0:subst(diff(vari(x),x,1)=1, expre),
        expre0:subst(vari(x)=var,expre0),                  
        if freeof(x,expre0) then return('integrate(expre0,vari)) else return('integrate(expre,x))));

--- subst(diff(vari(x),x,1)=1 must first see that there is only one such factor, easy to improve but not today.







       
---------------------------------

S? un Mejor Amante del Cine
?Quieres saber c?mo? ?Deja que otras personas te ayuden!.