用Python求函数 y=x^3-2x^2 在[-10,10]上的极值。 要求:利用导数,并画函数图像
首先,我们需要求出函数的导数:
$$y'=3x^2-4x$$
然后,我们需要求出导数为0的点,也就是函数极值点:
$$y'=0\Rightarrow 3x^2-4x=0\Rightarrow x=0, \frac{4}{3}$$
接下来,我们可以求出极值点对应的函数值:
$$y(0)=0, y(\frac{4}{3})=\frac{256}{27}$$
因此,$y=\frac{256}{27}$ 是函数的最大值。
下面让我们画出函数的图像来直观地验证这个结果:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-10, 10, 1000)
y = x**3 - 2*x**2
plt.plot(x, y)
plt.grid()
plt.axhline(y=0, color='k')
plt.axvline(x=0, color='k')
plt.plot([0, 0], [-1000, 1000], 'k--')
plt.plot([4/3, 4/3], [-1000, 1000], 'k--')
plt.plot([0, 4/3], [256/27, 256/27], 'r')
plt.text(0, -30, 'x=0', fontsize=12, ha='center')
plt.text(4/3, -30, 'x=4/3', fontsize=12, ha='center')
plt.text(0.7, 50, 'y=256/27', fontsize=12)
plt.xlabel('x')
plt.ylabel('y')
plt.show()
请看GPT的解答,有帮助的话采纳一下哦!
import numpy as np
import matplotlib.pyplot as plt
# 定义原函数
def f(x):
return x**3 - 2*x**2
# 定义导函数
def f_prime(x):
return 3*x**2 - 4*x
# 在定义域上画出原函数的图像
x = np.linspace(-10, 10, 1000)
plt.figure()
plt.plot(x, f(x))
plt.xlabel('x')
plt.ylabel('y')
plt.title('y=x^3-2x^2')
plt.grid()
# 求导数等于0的点
x1, x2 = 0, 4/3
# 计算极值点的函数值
y1, y2 = f(x1), f(x2)
# 绘制极值点和图形
plt.plot([x1, x2], [y1, y2], 'ro')
plt.annotate('max', xy=(x1, y1), xytext=(x1+2, y1+20), arrowprops=dict(arrowstyle='->'))
plt.annotate('min', xy=(x2, y2), xytext=(x2-3, y2-80), arrowprops=dict(arrowstyle='->'))
plt.show()