crosslang/octive-lean/SymToolboxDemo.m
Maximus Gorog 6592cd058d Add 'octive-lean/' from commit '4b6fcec565a170d7029d4ccba21be2ecd0512d13'
git-subtree-dir: octive-lean
git-subtree-mainline: fd3d42ae33
git-subtree-split: 4b6fcec565
2026-05-12 02:59:14 -06:00

45 lines
2.1 KiB
Matlab

% Symbolic Math Toolbox - cheat sheet walkthrough.
% Each labeled block produces one line of output.
x = sym('x'); y = sym('y'); z = sym('z'); t = sym('t');
a = sym('a'); b = sym('b'); k = sym('k'); n = sym('n');
% Calculus
printf("diff: "); disp(diff(sym('sin(x^2 + t)'), x));
printf("int indef: "); disp(int(sym('x/(1+z^2)'), z));
printf("int def: "); disp(int(sym('x^2'), x, 0, 1));
printf("limit left: "); disp(limit(sym('1/x'), x, 0, "left"));
printf("taylor: "); disp(taylor(sym('exp(-x)')));
printf("series: "); disp(series(sym('1/sin(x)'), x));
printf("symsum: "); disp(symsum(k, k, 0, n - 1));
printf("gradient: "); disp(gradient(sym('x*y + 2*z*x'), sym('[x, y, z]')));
printf("jacobian: "); disp(jacobian(sym('[x*y*z, y, x+z]'), sym('[x, y, z]')));
printf("hessian: "); disp(hessian(sym('x*y + 2*z*x'), sym('[x, y, z]')));
printf("laplacian: "); disp(laplacian(sym('1/x + y^2 + z^3'), sym('[x, y, z]')));
% Algebra
printf("double pi: "); disp(double(sym('pi')));
printf("vpa pi 30: "); disp(vpa(sym('pi'), 30));
printf("subs: "); disp(subs(sym('a^3 + b'), a, 2));
printf("solve poly: "); disp(solve(sym('x^2 - 4'), x));
printf("solve sys: "); disp(solve(sym('[u + v - a, u - v - b]'), sym('[u, v]')));
printf("isolate: "); disp(isolate(sym('a*x^2 + b*x + c'), x));
printf("lhs: "); disp(lhs(sym('Eq(x^2, y^2)')));
printf("rhs: "); disp(rhs(sym('Eq(x^2, y^2)')));
printf("simplify: "); disp(simplify(sym('sin(x)^2 + cos(x)^2')));
printf("expand: "); disp(expand(sym('(x+1)^3')));
printf("factor: "); disp(factor(sym('x^2 - 1')));
printf("collect: "); disp(collect(sym('x*y + x^2 + 2*x*y + 3'), x));
printf("rewrite: "); disp(rewrite(sym('tan(x)/cos(x)'), "sin"));
printf("resultant: "); disp(resultant(sym('x^2 + y'), sym('x - 2*y'), x));
% ODE - symfun() registers a SymPy Function so f(t) parses as f-of-t
symfun('f');
printf("dsolve: "); disp(dsolve(sym('Eq(Derivative(f(t), t), a*f(t))'), sym('f(t)')));
% Functions
printf("piecewise: "); disp(piecewise(sym('x < 0'), -1, sym('x >= 0'), 2));
% Output formats
printf("latex: "); disp(latex(sym('x^2 + y^2')));