#範例10-4:由銷售量q與單價x的三次多項式關係,求月營收的極大值極小值,分別是在什麼的定價時發生的? #(1)月營收f 與產品定價的關係式:三次多項式 #f(x) = 1/5*x**3-143x**2+26900x #多項式判別判別極值的方法: #A).泰勒級數的一次導數係數f'(x-x0) = C1 = 0,此時的x0就是極值(有兩個解,分別是極大值,與極小值) #B).如何判別極大值,或是極小值 #若二階導數f''(x0) >0,為正,那麼表示曲線開口向上,代表,x0處是極小值 #若二階導數f''(x0) <0,為負,那麼表示曲線開口向下,代表,x0處是極大值 from sympy import * from sympy.interactive import printing printing.init_printing(use_latex=True) x = symbols('x') f = Function('f')(x) f = (1/5)*x**3 - 143*x**2 + 26900*x #判別月營收f發生極值的dif:f'(x-x0) =0 f1 = f.diff(x) eqf1 = Eq(f1, 0) ans = solve(eqf1, x) x1 = ans[0] x2 = ans[1] #判別極值處,是極大值,,或是極小值(看f''(x-x0)正負,判別開口向上或向下 f2 = f.diff(x,2) if f2.subs(x, x1) > 0: print('x1=',x1,'處,有極小值') else: print('x1=',x1,'處,有極大值') if f2.subs(x, x2) > 0: print('x2=',x2,'處,有極小值') else: print('x2=',x2,'處,有極大值') #畫圖驗證 plot(f, (x, 0, 450), line_color='red')