我目前正试图在蒸汽压差(VPD)函数中找到理想VPD的RH和TMP值。所以我已经为虚拟专用数据库定义了我的函数,并试图做一个非线性回归,但没有得到我想要的曲线。你知道吗
import numpy as np
from scipy.optimize import curve_fit
def ES(C):
es = 0.6108*np.exp((17.27*C)/(C+273.3))
return es
def EA(RH,es):
ea = (float(RH)/100)*es
return ea
def VPD(C,RH):
es = ES(C)
ea = EA(RH,es)
vpd = ea
return vpd
C = np.linspace(0,50,100)
vpd = [0.5]*len(C)
popt, pcov = curve_fit(VPD, C, vpd)
它给出了popt和pcov的值,分别是10.09132776和0.51489686。然而,我真正想做的是确定这些温度下的相对湿度值,用C表示,VPD值为0.5。我可能是走错了路,但我已经挣扎了很长一段时间,真的可以用一些外部的角度来看待如何去做这个任务。你知道吗
假设你的方程是正确的,我没有验证,你可以简单地这样做:
这将打印C的每个值的相对湿度,假设您的公式是正确的。我只是简单地替换了这些方程,并将得到的方程设为0。只需将-0.5改为-(new VPD)即可获得不同VPD的结果。你知道吗
相关问题 更多 >
编程相关推荐