使用列表推导计算函数的最大值

时间:2016-11-09 02:18:58

标签: python-2.7

我正在尝试使用列表推导来编写函数来计算函数的最大值:

f(x)=x^3-x^2+3x+2 on the interval [4,12].

定义功能:

mymax(f, a, b, precision)

其中precision是x值的精度,其中出现最大值。

如何做到这一点?

1 个答案:

答案 0 :(得分:0)

假设a,b是你的区间的末端,而精度是增量,我认为这就是你要找的东西:

import numpy as np

def f(x):
  return x**3-x**2+3*x+2

def mymax(f, a, b, p):
  max_x=float('-inf')
  for x in np.arange(a,b,p):
     max_x=max(max_x,f(x))
  return x

或者,在一个漂亮的单行中:

def mymax(f, a, b, p):
   return max(y for y in [f(x) for x in np.arange (a,b,p)])