露点温度计算代码

露点温度是什么可以自行百度下,太专业的说法也难以理解,简单不专业的讲法就是在稳定的气压条件下,湿度越大,测得的温度就越接近露点温度,当相对湿度达到100%Rh时候,此时的温度就是露点温度。很好理解,就是湿度小,温度高,此时的露点温度也相应的不高,温度虽然高,但是人体出汗散热快,人体感官温度就没那么高,不会那么难受;但是湿度大,温度又高,露点温度也就高,虽然人体出汗了,但是不能蒸发散热,人体感官温度就很高,给人的感觉就是又湿又热,很难受。所以露点温度可以直观的表现出来当前环境的人体体感。一般露点温度在15度以下,人体比较舒适,超过15度,人体就会感觉有点不适。以上只是自己的一些理解,有错误还请纠正。

剩下就是怎样获得露点温度,因为露点温度和当前气压、温度、湿度相关。我们一般自己测量室内的露点温度一般都默认气压处于稳定状态,再利用温度和湿度估算出露点温度。

以下是利用温度和湿度计算得到露点温度的代码:

// Calculation of Dew Point tempurature

// from https://en.wikipedia.org/wiki/Dew_point

// Constants: -45degC <= T <= +60degC, +/- 0.35degC)

const float a =   6.112; // millibar

const float b =  17.62;

const float c = 243.12; // deg C

float gammaFunction (float temperature, float relativeHumidity) {

  float gamma;

  gamma = log(relativeHumidity/100.0) + (b*temperature)/(c+temperature);

  return gamma;

}

float dewPointTemperature (float temperature, float relativeHumidity) {

  float dewPointTemperature;

  float gamma;

  gamma = gammaFunction(temperature,relativeHumidity);

  dewPointTemperature = (c*gamma)/(b-gamma);

  return dewPointTemperature;

}

与软件计算的露点温度差不多,可以使用。

以上代码可能看起来没那么直观,下面是另外一份计算露点温度的函数,这是我自己平时用的,误差不大。代码如下:

double cal_dew_point_temp(float temperature, float humidity){

        double a = 17.27, b = 237.7;

        double r_value;

        r_value = a * temperature / (b + temperature) + log(humidity / 100);

        if((b * r_value / (a - r_value)) < 0)

            return (0);

        return (b * r_value / (a - r_value));

    }

其中a和b是国外通过长期统计监测之后,得出计算露点温度的经验值。

代码出处:GitHub - PaulSchulz/dew-point-havester: Controller code for smart Dew Point Harvester

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值