一、农作物温度适宜度的计算方式
它实际是一个模糊隶属函数,反映了了温度条件从不适宜到适宜及从适宜到不适宜的
连续变化过程。
二、模糊隶属函数的种类
1、三角形隶属函数(Triangular Membership Function)
2、梯形隶属函数(Trapezoidal Membership Function)
3、高斯隶属函数(Gaussian Membership Function)
4、钟形隶属函数(Bell-Shaped Membership Function)
5、S形隶属函数(Sigmoid Membership Function)
三、代码实现
# 计算日温度适宜度(Ti: 日平均温度,三基点温度【Tmax:最高温度, Tmin:最低温度, Ts:最适温度】)
# 三角隶属函数
def day_temp_sut(Ti,Tmax, Tmin, Ts):
return np.maximum(np.minimum((Ti - Tmin) / (Ts - Tmin), (Tmax - Ti) / (Tmax - Ts)), 0)
# 梯形隶属函数
def trapezoidal_membership(x, a, b, c, d):
if x <= a:
return 0
elif a < x <= b:
return (x - a) / (b - a)
elif b < x <= c:
return 1
elif c < x <= d:
return (d - x) / (d - c)
else:
return 0
# 高斯隶属函数
def gaussian_membership(x, c, sigma):
return np.exp(-((x - c) ** 2) / (2 * sigma ** 2))
# 钟形隶属函数
def bell_membership(x, a, b, c):
return 1 / (1 + np.abs((x - c) / a) ** (2 * b))
# S形隶属函数
def sigmoid_membership(x, a, c):
return 1 / (1 + np.exp(-a * (x - c)))