通过温度和湿度计算露点的公式
问题描述:
任何人都可以帮助我用相对湿度(°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
}
其在℃的确定,但我想与飞轮海来计算了。 – BADRI 2014-12-04 09:16:25
我编辑了答案。 – 2014-12-04 09:27:37
thnx,但它会返回相同的结果,因为我们将°F转换为°C,但我希望得到不同的结果,例如http://www.dpcalc.org/ – BADRI 2014-12-04 09:36:11