Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
/* * This file: * http://anggtwu.net/MAXIMA/2024-2-C3-P2.mac.html * http://anggtwu.net/MAXIMA/2024-2-C3-P2.mac * (find-angg "MAXIMA/2024-2-C3-P2.mac") * Author: Eduardo Ochs <eduardoochs@gmail.com> * * (defun e () (interactive) (find-angg "MAXIMA/2024-2-C3-P2.mac")) * See: (find-angg "MAXIMA/2024-2-C3-VR.mac") */ * (setq last-kbd-macro (kbd "C-a %M SPC C-a <down>")) * (eepitch-maxima) * (eepitch-kill) * (eepitch-maxima) load("/usr/share/emacs/site-lisp/maxima/emaxima.lisp")$ load("~/MAXIMA/barematrix1.mac")$ :lisp (setf (get '$display2d 'assign) nil) display2d:'emaxima$ * (eepitch-maxima) * (eepitch-kill) * (eepitch-maxima) ** (find-myqdraw "myqdraw3.mac") load_myqdraw(); ** (find-fline "~/LATEX/2024-2-C3/" "P2_") [topdf_a,topdf_b,topdf_c,topdf_n] : ["~/LATEX/", "2024-2-C3/", "P2", 0]; myqdrawp_to_screen (); myps(s):=ps(s); myqdrawp_to_new_pdf(); myps(s):=ps(s/5); myPopts (colr) := [pc(colr),myps(2)]; myvopts (colr) := [lc(colr),hl(0.15),ht(f)]; linel : 110; linenum : 0; * * (eeks 0.2 0.2) [xmin,xmax, ymin,ymax] : [-2,2, -2,2]; numsB(expr) := apply(matrix, makelist(makelist(ev(expr), x,-2,2), y, seqby(2,-2,-1)))$ F : x + y^2; G : 2*x + y; define(F(x,y), F); define(G(x,y), G); /* (a): 0.5 pts */ numsB(F); /* (b): 0.5 pts */ numsB(G); /* (c): 0.5 pts */ G_B : [myimp1(G=-2, lc(blue)), myimp1(G=-1, lc(forest_green)), myimp1(G=0, lc(gold)), myimp1(G=1, lc(orange)), myimp1(G=2, lc(red))]$ myqdrawp(xyrange(), G_B); /* (d): 0.5 pts */ D_B : [myimp1(G=-2, lc(gray))]$ myqdrawp(xyrange(), D_B); /* (e): 0.5 pts */ /* (f): 0.5 pts */ F_B : [myimp1(F=-1, lc(blue)), myimp1(F=0, lc(forest_green)), myimp1(F=1, lc(orange)), myimp1(F=2, lc(red))]$ myqdrawp(xyrange(), F_B); /* (g): 1.0 pts */ F_ys(z) := block([ys], ys : solve([G=-2,F=z],[x,y]), [rhs(ys[1][2]), rhs(ys[2][2])]); F_miny(z) := apply('min, F_ys(z)); F_maxy(z) := apply('max, F_ys(z)); F_C_z(z,color) := myapply_fl('imp1, F=z, x,-2,2, y,F_miny(z),F_maxy(z), lc(color)); F_C : [F_C_z(-1, blue), F_C_z( 0, forest_green), F_C_z( 1, orange), F_C_z( 2, red)]; myqdrawp(xyrange(), D_B, F_C); /* (h): 1.0 pts */ [F(-1,0), F(2,-2), F(2,2)]; /* (i): 0.5 pts */ G=-2; solve(G=-2, y); solve(G=-2, y)[1]; rhs(solve(G=-2, y)[1]); define(d(x), rhs(solve(G=-2, y)[1])); define(P(x), [x,d(x)]); [a,b] : [-2,-2]; /* (j): 0.5 pts */ grad(F) := [diff(F,x), diff(F,y)]$ define(gradF (x,y), grad(F)); define(gradG (x,y), grad(G)); define(gradFP(x), apply('gradF, P(x))); define(gradGP(x), apply('gradG, P(x))); /* (k): 1.0 pts */ gradsP(x) := [myPv_c(P(x),gradGP(x)/3, blue), myPv_c(P(x),gradFP(x)/3, dark_violet)]$ gradsP_3 : [gradsP(-1.5), gradsP(-1), gradsP(-0.5)]$ myqdrawp(xyrange(), D_B, F_C, gradsP_3); /* (l): 1.0 pts */ eq1 : 2*gradFP(x) = gradGP(x); eq2 : 2*gradFP(x)[2] = gradGP(x)[2]; solve(eq2, x); solve(eq2, x)[1]; xm : rhs(solve(eq2, x)[1]); /* -9/8 */ ym : d(xm); /* 1/4 */ Fm : F(xm,ym); /* -17/16 */ /* (m): 1.0 pts */ gradsP_xm : [gradsP(xm)]$ myqdrawp(xyrange(), D_B, F_C, gradsP_xm); /* (n): 1.0 pts */ Fnw : F(-2,d(-2)); Fsw : F(0,d(0)); Fne : F(2,2); Fse : F(2,-2); [Fm, Fnw, Fsw]; FD : [Fm, max(Fnw, Fsw)]; FC : [Fm, max(Fnw, Fsw, Fne, Fse)]; * ** (find-myqdraw "myqdraw3.mac" "myPv")