In [1]:
import numpy as np
In [2]:
arr = np.array([[1, 2], [3, 4]])
print("shape =", arr.shape)
print("size =", arr.size)
print("data type is", arr.dtype)
print("arr[1] = ", arr[1])
print("arr[(1,1)] = ", arr[(1,1)])
In [3]:
def fib(n):
a = 1
b = 1
count = 0
while count < n:
if count % 2 == 0:
yield a
a = a + b
else:
yield b
b = a + b
count += 1
In [4]:
for f in fib(10):
print(f)
In [5]:
f = np.array([f for f in fib(10)])
print(f)
In [6]:
lst = [1, 2, 3]
print(lst[1])
print(lst[-1])
print(lst[1:2:1])
print(lst[1::2])
print(lst[::-1])
print(lst[::-2])
In [7]:
a = np.arange(1, 4, 1)
print(f'{a.cumsum()}')
print(f'{a.sum()}')
In [8]:
import sympy
sympy.init_printing()
In [9]:
x = sympy.Symbol('x')
x + 1
Out[9]:
In [10]:
r1 = sympy.Rational(10, 3)
r2 = sympy.Rational(11, 24)
r1 + r2
Out[10]:
In [11]:
x = sympy.Symbol('x')
expr = 2 * (x ** 2) - x * (x + 1)
In [12]:
expr
Out[12]:
In [13]:
sympy.simplify(expr)
Out[13]:
In [14]:
a, b = sympy.symbols('a, b')
expr = sympy.sin(a + b)
expr.expand(trig=True)
Out[14]:
In [15]:
x, y, z = sympy.symbols('x, y, z')
sympy.sin(x * z).subs({z: sympy.exp(y), x: y, sympy.sin: sympy.cos})
Out[15]:
In [16]:
x, y, z = sympy.symbols('x, y, z')
expr = x * y + z ** 2 * x
values = {x: 1.25, y: 0.4, z: 3.2}
expr.subs(values)
Out[16]:
In [17]:
x = sympy.Symbol('x')
sympy.sin(x).series(n=4)
Out[17]:
In [18]:
x = sympy.Symbol('x')
sympy.sin(x).diff(x)
Out[18]:
In [19]:
import matplotlib.pyplot as plt
In [20]:
x = np.linspace(-5, 2, 100)
y1 = x ** 3 + 5 * x ** 2 + 10
y2 = 3 * x ** 2 + 10 * x
y3 = 6 * x + 10
fig, ax = plt.subplots()
ax.plot(x, y1, color='blue', label='y(x)')
ax.plot(x, y2, color='red', label="y'(x)")
ax.plot(x, y3, color='green', label="y''(x)")
ax.set_xlabel("x")
ax.set_ylabel("y")
ax.legend()
Out[20]:
In [21]:
fig = plt.figure(figsize=(8, 2.5), facecolor='#f1f1f1')
# axes coordinates as fractions of the canvas width and height
left, bottom, width, height = 0.1, 0.1, 0.8, 0.8
ax = fig.add_axes((left, bottom, width, height), facecolor='#e1e1e1')
x = np.linspace(-2, 2, 1000)
y1 = np.cos(40 * x)
y2 = np.exp(-x ** 2)
ax.plot(x, y1 * y2)
ax.plot(x, y2, color='green')
ax.plot(x, -y2, color='green')
ax.set_xlabel('x')
ax.set_ylabel('y')
Out[21]:
In [22]:
fig, ax1 = plt.subplots(figsize=(8, 4))
r = np.linspace(0, 5, 100)
a = 4 * np.pi * r ** 2
v = (4 * np.pi / 3) * r ** 3
ax1.set_title("surface area and volume of a sphere", fontsize=16)
ax1.set_xlabel('radius [m]', fontsize=16)
ax1.plot(r, a, lw=2, color='blue')
ax1.set_ylabel(r'surface area [$m^2$]', fontsize=16, color='blue')
ax2 = ax1.twinx()
ax2.plot(r, v, lw=2, color='red')
ax2.set_ylabel(r'volume [$m^3$]', fontsize=16, color='red')
Out[22]:
In [24]:
fig = plt.figure(figsize=(8,4))
def f(x):
return 1/(1 + x**2) + 0.1/(1 + ((3 - x) / 0.1)**2)
def plot_and_format_axes(ax, x, f, fontsize):
ax.plot(x, f(x), lw=2)
ax.set_xlabel(r'$x$', fontsize=fontsize)
ax.set_ylabel(f'$f(x)$', fontsize=fontsize)
# main graph
ax = fig.add_axes((0.1, 0.15, 0.8, 0.8), facecolor='#f5f5f5')
x = np.linspace(-4, 14, 1000)
plot_and_format_axes(ax, x, f, 18)
x0, x1 = 2.5, 3.5
ax.axvline(x0, ymax=0.3, color='gray', ls=':')
ax.axvline(x1, ymax=0.3, color='gray', ls=':')
ax_insert = fig.add_axes((0.5, 0.5, 0.38, 0.42), facecolor='none')
x = np.linspace(x0, x1, 1000)
plot_and_format_axes(ax_insert, x, f, 14)
In [ ]: