通过温度和湿度计算露点的公式

问题描述:

任何人都可以帮助我用相对湿度(°C或°F)中的温度来计算露点。我在Google上搜索了很多,但没有找到任何合适的公式来计算此值。我使用下面的公式,但它给出了华氏单位的错误值。通过温度和湿度计算露点的公式

float Temp = [value floatValue]; 
float Humi = [[data humidity] floatValue]; 
float Td = Temp - ((100 - Humi)/3.6); 
return Td; 

我有温度(℃或℉)和湿度,需要在式帮助来计算目标C.

它完美


-(float) findDewPointWithHumidity:(float) humi forTemperature:(float) temperature isCelsius: (BOOL) isCelsius isReturnTypeCelcius: (BOOL) isReturnTypeCelcius 
{ 
    float temp; 

    if(isCelsius){ 
     temp = temperature; 
    } else { 
     temp = (temperature - 32)/1.8; 
    } 

    float ans = (temp - (14.55 + 0.114 * temp) * (1 - (0.01 * humi)) - pow(((2.5 + 0.007 * temp) * (1 - (0.01 * humi))),3) - (15.9 + 0.117 * temp) * pow((1 - (0.01 * humi)), 14)); 

    if(isReturnTypeCelcius){ 
     return ans; 
    } 

    float value = ans*(9.0/5.0); 
    return value+32.0; 

} 
 

这应该做的工作露点。下面的代码只考虑摄氏和华氏。要使用其他温度单位,请相应修改代码;

-(float) findDewPointWithHumidity:(float) humidity forTemperature:(float) temperature isCelsius: (BOOL) isCelsius isReturnTypeCelcius: (BOOL) isReturnTypeCelcius 
{ 
    float temp; 

    if(isCelsius){ 
     temp = temperature; 
    } else { 
     temp = (temperature - 32)/1.8; 
    } 

    float humi = 34; 
    float ans = (temp - (14.55 + 0.114 * temp) * (1 - (0.01 * humi)) - pow(((2.5 + 0.007 * temp) * (1 - (0.01 * humi))),3) - (15.9 + 0.117 * temp) * pow((1 - (0.01 * humi)), 14)); 

    if(isReturnTypeCelsius){ 
     return ans;   // returns dew Point in Celsius 
    } 

    return (temperature - 32)/1.8; // returns dew Point in Fahrenheit 
} 
+0

其在℃的确定,但我想与飞轮海来计算了。 – BADRI 2014-12-04 09:16:25

+0

我编辑了答案。 – 2014-12-04 09:27:37

+0

thnx,但它会返回相同的结果,因为我们将°F转换为°C,但我希望得到不同的结果,例如http://www.dpcalc.org/ – BADRI 2014-12-04 09:36:11