Calculus 12: Derivatives Of Trigonometric Functions
Using Python’s sympy library to find numeric & exact solutions
calculus
Author
Tony Phung
Published
January 22, 2025
1. Find x and \(\frac{dx}{dt}\) for \(x=10\cos(t)\)
Let \(x=10\cos(t)\)
Find \(x\)
Find \(\frac{dx}{dt}\) for:
\(t=0\)
\(t=\frac{\pi}{3}\)
\(t=\frac{3\pi}{4}\)
Reference from Ch3-5 Ex-61, Thomas 13e pp.161
2. Hand-Written Solution
3. Python Solution
3.1 numpy solution (numeric only)
import numpy as np# Let $x=10\cos(t)$. Find $x$ and $\frac{dx}{dt}$ for: fn_10cost =lambda t: 10*np.cos(t)fn_a = fn_10cost(0)fn_b = fn_10cost(np.pi/3)fn_c = fn_10cost(3*np.pi/4)fn_minus_10sint =lambda t: -10*np.sin(t)dxdt_a = fn_minus_10sint(0)dxdt_b = fn_minus_10sint(np.pi/3)dxdt_c = fn_minus_10sint(3*np.pi/4)print("-"*25)print("Solutions to a:")print(fn_a,fn_b,fn_c)print("-"*25)print("Solutions to b:")print(dxdt_a,dxdt_b,dxdt_c)
-------------------------
Solutions to a:
10.0 5.000000000000001 -7.071067811865475
-------------------------
Solutions to b:
-0.0 -8.660254037844386 -7.0710678118654755
3.2 sympy solution (numeric and exact solutions)
from sympy import symbols, diff, sin, cos, pix = symbols('x')t = symbols('t')# t = 10*np.cos() # does not work with fns, need to use sympys symbol insteadx =10*cos(t)dxdt = diff(x,t) # calc dervrl =10x_t_0 =str(10*cos(0))x_t_pi_on_3 =str(10*cos(pi/3))x_t_3pi_on_4 =str(10*cos(3*pi/4))print("-"*26)print("x Equals")print(f"t = 0: \t\t{x_t_0:>{rl}}")print(f"t = π/3: \t{x_t_pi_on_3:>{rl}}")print(f"t = 3π/4: \t{x_t_3pi_on_4:>{rl}}")print()value_at_t0 =str(dxdt.subs(t, 0))value_at_pi_over_3 = dxdt.subs(t, pi /3)value_at_3pi_over_4 =dxdt.subs(t, 3* pi /4)print("-"*26)print("Exact Solutions")print(f"dxdt: \t\t{str(dxdt):>{rl}}")print(f"t = 0: \t\t\t{value_at_t0}")print(f"t = π/3: \t{value_at_pi_over_3}")print(f"t = 3π/4: \t{value_at_3pi_over_4}")print()print("-"*26)print("Numeric Solutions")print(f"dxdt: \t\t{str(dxdt):>{rl}}")print(f"t = 0: \t\t{value_at_t0:>{rl-1}}")print(f"t = π/3: \t{round(value_at_pi_over_3,1):>{rl-1}}")print(f"t = 3π/4: \t{round(value_at_3pi_over_4,1):>{rl-1}}")
--------------------------
x Equals
t = 0: 10
t = π/3: 5
t = 3π/4: -5*sqrt(2)
--------------------------
Exact Solutions
dxdt: -10*sin(t)
t = 0: 0
t = π/3: -5*sqrt(3)
t = 3π/4: -5*sqrt(2)
--------------------------
Numeric Solutions
dxdt: -10*sin(t)
t = 0: 0
t = π/3: -8.7
t = 3π/4: -7.1