lehrkraefte:blc:math:maxima-cheatsheet

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:blc:math:maxima-cheatsheet [2021/05/05 07:43] – [Vector operations] Ivo Blöchligerlehrkraefte:blc:math:maxima-cheatsheet [2024/05/03 07:06] (current) – [Using results of solve for further computations] Ivo Blöchliger
Line 1: Line 1:
 +====== Maxima Cheat Sheet ======
 +
 +===== Solving exponential equations =====
 +Maximas solve cannot handle exponential equations. However, it converts them into a form which can be used further by taking the logarithm of both sides. Make sure to set 'logexpand' to 'all':
 +<code text>
 +f(x):=a*2^((x-2)/2)+2;
 +g(x):=b*3^((x-4)/5)+1;
 +solve(f(x)=g(x),x);
 +                                         x - 4
 +                              x - 2      -----
 +                              -----        5
 +                                2     b 3      - 1
 +(%o8)                       [2      = ------------]
 +                                           a
 +
 +logexpand:all;
 +solve(log(solve(f(x)=g(x),x)),x);
 +                            x/5 - 4/5
 +                   2 log(b 3          - 1) - 2 log(a) + 2 log(2)
 +(%o11)        [x = ---------------------------------------------]
 +                                      log(2)
 +
 +</code>
 +Und sonst halt mit ''find_root (expr, x, a, b)''
 +===== Output stuff like Maxima Input =====
 +<code txt>
 +(%i14) x^2/3;
 +                                       2
 +                                      x
 +(%o14)                                --
 +                                      3
 +(%i15) string(%);
 +(%o15)                               x^2/3
 +</code>
 +
 +===== Derivative as a new function (force evaluating the differentiation) =====
 +<code txt>
 +f(x):=a*2^((x-2)/10)+2;
 +define(ff(x), diff(f(x),x));
 +</code>
 +
 +===== Using results of solve for further computations =====
 +<code txt>
 +sol:solve(x^2-x-1=0,x);
 +x^2-x, sol[2];
 +expand(%);
 +val:x,sol[2];
 +/* Usable inside an expresseion: */
 +subst(sol[2],x);
 +</code>
 +Or even better:
 +<code text>
 +rhs(sol[2]);
 +map(rhs, sol);
 +</code>
 +===== Nummerically solve equations =====
 +[[https://maxima.sourceforge.io/docs/manual/maxima_116.html|Maxima doc]]
 +<code txt>
 +find_root(sin(2*x)=x,x,0.5,2);
 +</code>
 +
 +===== Vector operations =====
 +<code maxima>
 +load("vect");
 +cross(u,v):=express(u ~ v);
 +norm(a):=sqrt(a.a);
 +area(a,b,c):=1/2*norm(cross(b-a,c-a));
 +vec2eq(eq):=makelist(rhs(eq)[i]=lhs(eq)[i], i, 1, length(rhs(eq)));
 +</code>
 +
 +===== Binomial Distribution =====
 +<code maxima>
 +load("distrib");
 +pdf_binomial (25,500,0.03);   
 +cdf_binomial (25,500,0.03);
 +</code>