10.C] Write code to solve \frac{dy}{dx} - 2y = 3e^x,\quad y(0) = 0 Using Taylor series at x = 0.1, 0.2, 0.3
Answer:
# Program to solve the ODE using Taylor's series method import sympy as sp from sympy import exp, symbols, Function, Eq, diff, display # Define variables x = symbols('x') y = Function('y')(x) # Define the differential equation dy/dx = 3*e^x + 2*y diffeqn = Eq(y.diff(x), 3 * exp(x) + 2 * y) # Compute successive derivatives y1 = diffeqn.rhs y2 = diff(y1, x) y3 = diff(y2, x) y4 = diff(y3, x) # Initial values x0 = 0 y0 = 1 h = 0.1 # Substitute initial conditions y1_val = y1.subs({y: y0, x: x0}) y2_val = y2.subs({y: y0, x: x0, y.diff(x): y1_val}) y3_val = y3.subs({y: y0, x: x0, y.diff(x): y1_val, y.diff(x, x): y2_val}) y4_val = y4.subs({y: y0, x: x0, y.diff(x): y1_val, y.diff(x, x): y2_val, y.diff(x, x, x): y3_val}) # Construct Taylor series up to 4th order taylor_series = y0 + y1_val * (x - x0) + (y2_val / 2) * (x - x0)**2 + \ (y3_val / 6) * (x - x0)**3 + (y4_val / 24) * (x - x0)**4 # Display the Taylor series expression display("Taylor's series expansion y(x) =", taylor_series) # Evaluate y at points x0, x0+h, x0+2h for i in range(3): xi = x0 + i * h yi = taylor_series.subs(x, xi) print(f"y({xi:.1f}) = {float(yi):.4f}")