In [1]:
import numpy as np
import sympy as sym
import matplotlib.pyplot as plt
from IPython.display import display,Math
In [2]:
print('Examples')
display(Math('\\quad f(x) = \\begin{cases} 0,& \\text{if} \\: x \\leq 0 \\\ -2x,& \\text{if} \\: x>0 \\end{cases}'))
display(Math('\\quad f(x) = \\begin{cases} 0,& -\\infty < x \\leq 0 \\\ -2x,& 0>x>+\\infty\\end{cases}'))
print('Exercise')
display(Math('\\quad f(x) = \\begin{cases} 0,& x \\leq 0 \\\ -2x,& x>0 \\: \\& \\: x<3 \\\ .1x^3, & x\\geq 3 \\end{cases}'))
Examples
$\displaystyle \quad f(x) = \begin{cases} 0,& \text{if} \: x \leq 0 \\ -2x,& \text{if} \: x>0 \end{cases}$
$\displaystyle \quad f(x) = \begin{cases} 0,& -\infty < x \leq 0 \\ -2x,& 0>x>+\infty\end{cases}$
Exercise
$\displaystyle \quad f(x) = \begin{cases} 0,& x \leq 0 \\ -2x,& x>0 \: \& \: x<3 \\ .1x^3, & x\geq 3 \end{cases}$
In [3]:
from sympy.abc import x

piece1 = 0
piece2 = -2*x
piece3 = x**3/10

fx = sym.Piecewise((piece1,x<0), (piece2,(x>=0) & (x<3)), (piece3,x>=3))
print(fx)

fxx = sym.lambdify(x,fx)
xx = np.linspace(-3,5,1234)

plt.plot(xx,fxx(xx))
plt.show()
Piecewise((0, x < 0), (-2*x, (x >= 0) & (x < 3)), (x**3/10, x >= 3))

Exercise

In [4]:
display(Math('f(x) = \\begin{cases} x^3,& \\text{for} \\: x \\leq 0 \\\ \\log_2(x),& \\text{otherwise}\\end{cases}'))
$\displaystyle f(x) = \begin{cases} x^3,& \text{for} \: x \leq 0 \\ \log_2(x),& \text{otherwise}\end{cases}$
In [5]:
f1 = x**3
f2 = sym.log(x,2)

fx = sym.Piecewise((f1,x<=0),(f2,x>0))
print(fx)
fxx = sym.lambdify(x,fx)

display(Math('f(x) = ' + sym.latex(fx)))

with plt.xkcd():
    plt.plot(xx,fxx(xx),'k')
plt.xlim([-2,2])
plt.xlim([-2,2])
plt.ylim([-10,3])
plt.show()
Piecewise((x**3, x <= 0), (log(x)/log(2), x > 0))
$\displaystyle f(x) = \begin{cases} x^{3} & \text{for}\: x \leq 0 \\\frac{\log{\left (x \right )}}{\log{\left (2 \right )}} & \text{for}\: x > 0 \end{cases}$
/anaconda3/lib/python3.6/site-packages/numpy/__init__.py:1: RuntimeWarning: invalid value encountered in log
  """