函數的最大值和最小值寫功能maxmin(f, a, b, n=1000)
用於a
和b
之間的間隔 找到一個數學函數f(x)
的最大 和最小值。下面的測試程序查找使用python
from math import cos, pi
print maxmin(cos, -pi/2, 2*pi, 100001)
應當寫出
(1.0, -1.0).
的maxmin
函數可以計算一組的n
存儲在列表x
均勻間隔的座標a
和b
之間 ,然後在 計算f
指向x
並將值存儲在另一個列表y
中。 Python函數 max(y)
和min(y)
分別返回 列表y
中的最大值和最小值。
我嘗試使用
from math import cos, pi
import numpy
def maxmin(f, a, b, n=1000):
x = (f(i) for i in numpy.linspace(a, b, n))
#print x
maximum = max(x==2)
minimum = min(x==0)
return maximum, minimum
print maxmin(cos, -pi/2, 2*pi, 100001)
但運行不正常。當我的意思是它不能正常工作我不給我最大和最小,我應該得到哪些(1.0,-1.0)。 這是錯誤我得到
minimum = min(x)
ValueError: min() arg is an empty sequence
>>>
我很困惑什麼順序就是了
什麼是'numpy.linespace'? – 2014-09-28 19:28:43
當你說「*它無法正常運行*」時,你是什麼意思?請編輯您的問題,以包含程序的**完整**輸出,包括您收到的任何錯誤的全文。 – MattDMo 2014-09-28 19:28:46
我認爲你的意思是'numpy.linspace',米奇? – 2014-09-28 19:29:16