第一次发csdn,还没搞懂具体怎么操作,大部分先用截图试看看效果。勿喷!连字体设置还没搞懂了。以下文字大部分来自datawhale每月开源学习课程内容。应该不会侵权吧
(一) 以微分初步知识及梯度下降算法解决最优化问题
GitModel 公司发明了一种专用于数值计算的平板电脑 GitNum,, 考虑到员工生产效率的问题,, GitNum 的生产成本是与生产台数相关的. 函数关系为
请问如何确定这批 GitNum 的生产台数使得每台的平均生产成本最小使得经济效益最大呢?
from sympy import *
n = symbols('n')
y = 1250*(2-exp(-(n-5000)**2))
func1 = diff(y,n) # 求导数
func1
-1250*(-2*n + 10000)*exp(-(n - 5000)**2)
stag = solve(diff(y,n),n)
print("该函数驻点为",stag) # 计算驻点
该函数驻点为 [5000]
# 计算二阶导数
func2 = diff(y, n, 2) # 求导数
func2
2500*(-2*(n - 5000)**2 + 1)*exp(-(n - 5000)**2)
# 计算驻点的二阶导数值,验证正负
print(func2.evalf(subs = {n:5000}))
func2.evalf(subs = {n:5000}) > 0
2500.00000000000
True
# 函数的极小值
y.evalf(subs = {n:5000})
1250.00000000000