scientific-programming-exer.../ex_47.py

20 lines
354 B
Python

import numpy as np
from scipy.optimize import minimize
import matplotlib.pyplot as plt
f = lambda x: x*np.sin(7*x)*np.exp(-(x - 2)**2)
x0 = f(np.arange(-20, 20, 0.1)).min()
m = minimize(f, x0, method="CG")
print(m)
g = lambda x0: minimize(f, x0, method="CG").x
x0s = np.arange(-3, 3, 0.001)
xs = [g(x0) for x0 in x0s]
plt.plot(x0s, xs)
plt.show()