Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
/* This file: * http://anggtwu.net/MAXIMA/3-changevars1.mac.html * http://anggtwu.net/MAXIMA/3-changevars1.mac * (find-angg "MAXIMA/3-changevars1.mac") * Author: Eduardo Ochs <eduardoochs@gmail.com> * * Uma ferramenta pra preparar questões de integração que usam três * mudanças de variável. * * (defun e () (interactive) (find-angg "MAXIMA/3-changevars1.mac")) * * See: (find-es "maxima" "3-changevars") * (find-es "maxima" "2-lisp") * * http://anggtwu.net/LATEX/2023-2-C2-Tudo.pdf#page=187 * http://anggtwu.net/LATEX/2023-2-C2-Tudo.pdf#page=191 * 2hT187: (c2m232p1p 6 "questao-2-gab") * (c2m232p1a "questao-2-gab") * 2hT191: (c2m232p1p 6 "questao-2-gab") * (c2m232p1a "questao-2-gab") * * «.basic-tests» (to "basic-tests") * «.2023-2-C2-P1» (to "2023-2-C2-P1") */ gradef(f(x), fp(x)); gradef(g(x), gp(x)); gradef(h(x), hp(x)); gradef(m(x), mp(x)); MM2 : align_eqs([ integrate(diff(f(g(h(x))), x), x), integrate(diff(f(g(u)), u), u), integrate(diff(f(v), v), v), f(v), f(g(u)), f(g(h(v))) ]); MM3 : align_eqs([ integrate(diff(f(g(h(m(x)))), x), x), integrate(diff(f(g(h(u))), u), u), integrate(diff(f(g(v)), v), v), integrate(diff(f(w), w), w), f(w), f(g(v)), f(g(h(u))), f(g(h(m(x)))) ]); foo2(f,g) := block([f0,f1,ex0,ex1], f0 : f, f1 : concat(f, 'p), ex0 : apply(g,[x]), ex1 : diff(ex0, x), buildq([f0,f1,ex0,ex1], [f0 = lambda([x],ex0), f1 = lambda([x],ex1)]))$ foo1(fg) := foo2(fg[1],fg[2])$ foo(fgs) := apply('append, map('foo1, fgs)); /* ** «basic-tests» (to ".basic-tests") * (eepitch-maxima) * (eepitch-kill) * (eepitch-maxima) load("~/MAXIMA/3-changevars1.mac"); linel : 100; MM2; MM3; f2(y) := y^4; f3(z) := sin(z); foo2(f,f2); foo1([f,f2]); foo([[f,f2],[g,f3]]); subst(foo([[f,f2],[g,f3]]), f(g(x))*gp(x)); ** «2023-2-C2-P1» (to ".2023-2-C2-P1") ** (find-es "maxima" "2023-2-C2-P1" "Questao 2") * (eepitch-maxima) * (eepitch-kill) * (eepitch-maxima) load("~/MAXIMA/3-changevars1.mac"); MM2; f1(y) := sin(y) / 4; f2(y) := y^4; f3(y) := log(y); substs : foo('[[f,f1],[g,f2],[h,f3]]); MM2; subst(substs, MM2); */