2014-12-04 146 views
0

任何人都可以幫助我用相對溼度(°C或°F)中的溫度來計算露點。我在Google上搜索了很多,但沒有找到任何合適的公式來計算此值。我使用下面的公式,但它給出了華氏單位的錯誤值。通過溫度和溼度計算露點的公式

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

我有溫度(℃或℉)和溼度,需要在式幫助來計算目標C.

回答

1

它完美


-(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; 

} 
 
2

這應該做的工作露點。下面的代碼只考慮攝氏和華氏。要使用其他溫度單位,請相應修改代碼;

-(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