Při prvním čtení lze vynechat -- nespojité funkce

Funkce lze zadávat i s různými nespojitostmi pomocí podmíněného příkazu. S funkcemi, v jejichž definici je však použit podmíněný příkaz, nelze provádět některé operace (např. derivovat). Proto se doporučuje vyjadřovat podmínky pomocí Heavisidovy funkce (jednotkový skok), např.

> F := x -> x - Heaviside(x-2)*((x-2)^2);

F := proc (x) options operator, arrow; x-Heaviside(...

> plot(F, 0..4);

[Maple Plot]

Derivace:

> D(F);

proc (x) options operator, arrow; 1-Dirac(x-2)*(x-2...

> plot(D(F), 0..4);

[Maple Plot]

Vůbec nejlépe lze definovat nespojité funkce pomocí příkazu ` piecewise `, který umožňuje s takto zadanými funkcemi provádět další symbolické úpravy a výpočty.

> x:='x':
p:=piecewise(x<0, -1, x>1, 2*x, x^2);

p := PIECEWISE([-1, x < 0],[2*x, 1 < x],[x^2, other...

Umí i integrovat,

> int(p, x);

PIECEWISE([-x, x <= 0],[1/3*x^3, x <= 1],[x^2-2/3, ...

derivovat (označí i body, kde není derivace definovaná),

> diff(p, x);

PIECEWISE([0, x < 0],[undefined, x = 0],[2*x, x < 1...

řešit diferenciální rovnice

> dsolve( diff(y(x), x) + p*y(x), y(x));

Error, (in ODEtools/info) Required a specification of the indeterminate function

zjednodušovat výpočet.

> simplify(p*x*exp(x-1));

PIECEWISE([-x*exp(x-1), x <= 0],[x^3*exp(x-1), x <=...

Byly zde použity velmi jednoduché příkazy, které však do této kapitoly přímo nepatří a budou podrobněji probrány dále.