For loop problem; could you help?
    4 views (last 30 days)
  
       Show older comments
    
I wish to calculate w to plot for (T,w) for every thi values and T values, my goal is to plot psychrometric chart 
do I need to use double for loop on this case??
eg for thi = 0,1  , T = 0:1:60  , find w   ;;  for thi = 0,2  , T = 0:1:60 find w2 ..... ;;;    for thi = 1 , t =  T = 0:1:60 find w(n)
 pg(i) has been successfully computed but struggling on finding w vectors.
Could you please take a look into this?
%%% welxer formulation
g0 = -2.9912729*1000;
g1 = -6.0170128*1000;
g2 = 1.887643854*10;
g3 = -2.8354721*10^-2;
g4 = 1.7838301*10^-5;
g5 = -8.4150417*10^-10;
g6 = 4.4412543*10^-13;
g7 = 2.858487;
% T ; %%% 
%%%
T = 273.15:1:273.15+60 %%% temperature
thi = 0.1 : 0.1 : 1
for i =  1:length(T)
    Pg(i) = exp((g0/T(i)^2 + g1/T(i) + g2 + g3*T(i) + g4* T(i)^2 + g5 *T(i)^3 + g6*T(i)^4 ) + g7*log(T(i)))/1000;
                       %%%%% I would like save w vectors for for every thi = 0:0.1:1 , T = 0:1:60
                       w(i) = (0.622*thi*Pg(i)/101-thi*Pg(i);  %%%???
end
0 Comments
Accepted Answer
  Stephen23
      
      
 on 20 May 2020
        
      Edited: Stephen23
      
      
 on 22 May 2020
  
      thi = 0.1:0.1:1;
T = 273.15:1:273.15+60; %%% temperature
N = numel(T);
w = nan(numel(thi),N); % preallocate!
Pg = nan(1,N);         % preallocate!
for k =  1:N
    Pg(k) = exp((g0/T(k)^2 + g1/T(k) + g2 + g3*T(k) + g4* T(k)^2 + g5 *T(k)^3 + g6*T(k)^4 ) + g7*log(T(k)))/1000;
    w(:,k) = 0.622*thi*Pg(k)./101-thi*Pg(k);
end
Every column of w is one result vector for one temperature.
6 Comments
  Stephen23
      
      
 on 22 May 2020
				
      Edited: Stephen23
      
      
 on 22 May 2020
  
			I suspect that you need to add some parentheses to that line and use element-wise division:
w(:,k) = (0.622*thi*Pg(k)) ./ (101-thi*Pg(k));
%        ^               ^    ^             ^   parentheses
%                          ^^                   element-wise RDIVIDE
Giving:
>> (0.622*thi*Pg(31)) ./ (101-Pg(31)*thi)
ans =
    0.0026254    0.0052731    0.0079433     0.010636     0.013352     0.016092     0.018855     0.021643     0.024454     0.027291
For thi=1 this gives a value of 0.027291. I have no idea how you got 0.02739.

More Answers (0)
See Also
Categories
				Find more on Annotations in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




