def P45(): def initCond(u): return np.array([0.0, u]) def r(u): X, Y = hw7.integrate(F, xStart, initCond(u), xStop, h, tol=tol) y = Y[len(Y) - 1] r = y[0] - 1.0 return r def F(x, y): F = np.zeros(2) #Y=[y,y',y''] F[0] = y[1] F[1] = -1 * (1 - 0.2 * x) * (y[0]**2) return F xStart = 0.0 xStop = pi / 2 u1 = 0.77 u2 = 0.8 h = 0.01 tol = 1e-3 u = ridder(r, u1, u2) print(u) X, Y = hw7.integrate(F, xStart, initCond(u), xStop, h, tol=tol) graph(X, Y, "P45")
def P46(): def initCond(u): return np.array([0.0, u]) def r(u): X, Y = hw7.integrate(F, xStart, initCond(u), xStop, h, tol=tol) y = Y[len(Y) - 1] r = y[0] - -1.0 return r def F(x, y): F = np.zeros(2) #Y=[y,y',y''] F[0] = y[1] F[1] = -2 * y[1] - 3 * y[0]**2 return F xStart = 0.0 xStop = 2 u1 = -1.0 u2 = -0.95 h = 0.01 tol = 1e-3 u = ridder(r, u1, u2) print(u) X, Y = hw7.integrate(F, xStart, initCond(u), xStop, h, tol=tol) graph(X, Y, "P46")
def P47(): def initCond(u): return np.array([1.0, u]) def r(u): X, Y = hw7.integrate(F, xStart, initCond(u), xStop, h, tol=tol) y = Y[len(Y) - 1] r = y[0] - 0.0 return r def F(x, y): F = np.zeros(2) #Y=[y,y'] F[0] = y[1] F[1] = (1 - np.exp(-1 * x)) * y[0] return F xStart = 0.0 xStop = 15.0 u1 = -0.5 u2 = -0.6 h = 0.001 tol = 1e-6 #u = ridder(r,u1,u2,tol=tol) u = -0.61 print(u) X, Y = hw7.integrate(F, xStart, initCond(u), xStop, h, tol=tol) graph(X, Y, "P47")
def r(u): X, Y = hw7.integrate(F, xStart, initCond(u), xStop, h, tol=tol) y = Y[len(Y) - 1] r = y[0] - -1.0 return r