|
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);
*/