Advertisement
hughmiki

Untitled

Apr 21st, 2022
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.74 KB | None | 0 0
  1. %% Computatiton of dewpoint Temperature
  2. tempVals=cell2mat(struct2cell(load('Temp.mat')))
  3. humiVals=cell2mat(struct2cell(load('Humi.mat')))
  4.  
  5. %% Means
  6. avgTemp=mean(tempVals);
  7. avgHumi=mean(humiVals);
  8.  
  9.  
  10. %%
  11. alpha=6.1121;
  12. beta=18.678;
  13. lambda=257.14;
  14. theta=234.5;
  15.  
  16. P_s=alpha*exp(beta-avgTemp/theta)*(avgTemp/(lambda+avgTemp)); % saturation water vapour pressure
  17. Gamma=log(avgHumi/100*P_s/alpha);
  18.  
  19. T_dpC=lambda*Gamma/(beta-Gamma); % dewpoint temperature
  20.  
  21. avgTempF=9/5*(avgTemp)+32 % temp in farenheit (do not use in computation, for visualization only)
  22. T_dpF= 9/5*(T_dpC)+32 % dewpoint temp in farenheit (do not use in computation, for visualization only)
  23.  
  24. % [avgTemp,T_dpC] % for side-by-side visualization
  25. % [avgTempF,T_dpF]% for side-by-side visualization
  26.  
  27. %% Uncertainty Computation
  28. noOfMeasurements=25;
  29.  
  30. stdTemp=std(tempVals); % standard deviation of temp data
  31. stdHumi=std(humiVals); % standard deviation of humidity data
  32.  
  33. tScore=1.711; % t-score for 95% probability and dof=24
  34.  
  35. randUncenTemp=tScore*stdTemp/sqrt(noOfMeasurements); % standard uncertainty in temp
  36. randUncenHumi=tScore*stdHumi/sqrt(noOfMeasurements); % standard uncertainty in humidity
  37.  
  38. resUncenTemp=1/2*1; % uncertainty in temp due to resolution
  39. resUncenHumi=1/2*.01; % uncertainty in humidity due to resolution
  40.  
  41. tempUncen= sqrt(randUncenTemp^2+resUncenTemp^2); % uncertainty in temperature
  42. humiUncen=sqrt(randUncenHumi^2+resUncenHumi^2); % uncertainty in humidity
  43.  
  44. uncenAlpha=.01*alpha; % uncertainty in alpha
  45. uncenBeta=.01*beta; % uncertainty in beta
  46. uncenLambda=.01*lambda; % uncertainty in lambda
  47. uncenTheta=.01*theta; % uncertainty in theta
  48.  
  49. syms a b l t T H
  50.  
  51. P_ssym=a*exp((b-T/t)*(T/(l+T))); % saturation water vapour pressure as a symbolic function using a=alpha, b=beta, l=lambda, t=theta, T=temp, H=humidity as symbolic variables
  52. gammasym=log(H/100*P_ssym/a); % gamma as a symbolic function using a=alpha, b=beta, l=lambda, t=theta, T=temp, H=humidity as symbolic variables
  53. T_dpsym=(l*gammasym/(b-gammasym)); % dewpoint temperature as a symbolic function using a=alpha, b=beta, l=lambda, t=theta, T=temp, H=humidity as symbolic variables
  54.  
  55. dTdpdT=double(simplify(subs(diff(T_dpsym,T),[a b l t T H], [alpha beta lambda theta avgTemp avgHumi]))); % propagation coefficient d(T_dp)/dT evaluated at averages
  56. dTdpdH=double(simplify(subs(diff(T_dpsym,H),[a b l t T H], [alpha beta lambda theta avgTemp avgHumi]))); % propagation coefficient d(T_dp)/dH evaluated at averages
  57. dTdpdalpha=double(simplify(subs(diff(T_dpsym,a),[a b l t T H], [alpha beta lambda theta avgTemp avgHumi]))); % propagation coefficient d(T_dp)/d(alpha) evaluated at averages
  58. dTdpdbeta=double(simplify(subs(diff(T_dpsym,b),[a b l t T H], [alpha beta lambda theta avgTemp avgHumi]))); % propagation coefficient d(T_dp)/d(beta) evaluated at averages
  59. dTdpdlambda=double(simplify(subs(diff(T_dpsym,l),[a b l t T H], [alpha beta lambda theta avgTemp avgHumi]))); % propagation coefficient d(T_dp)/d(lambda) evaluated at averages
  60. dTdpdtheta=double(simplify(subs(diff(T_dpsym,t),[a b l t T H], [alpha beta lambda theta avgTemp avgHumi]))); % propagation coefficient d(T_dp)/d(theta) evaluated at averages
  61.  
  62. uncenDewpoint= sqrt((dTdpdT*tempUncen)^2+(dTdpdH*humiUncen)^2+(dTdpdalpha*uncenAlpha)^2+(dTdpdbeta*uncenBeta)^2+(dTdpdlambda*uncenLambda)^2+(dTdpdtheta*uncenTheta)^2);% propagate uncertainties to dewpoint temp using propagation formula
  63.  
  64. dewpointLowerBound=double(simplify(subs(T_dpsym,[a b l t T H],[alpha beta lambda theta avgTemp avgHumi])))-uncenDewpoint % compute upperbound in dewpoint temp from uncertainty
  65. dewpointUpperBound= double(simplify(subs(T_dpsym,[a b l t T H],[alpha beta lambda theta avgTemp avgHumi])))+uncenDewpoint % compute lowerbound in dewpoint temp from uncertainty
  66.  
  67.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement