For loop problem; could you help?
    4 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Young Lee
 el 20 de Mayo de 2020
  
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 comentarios
Respuesta aceptada
  Stephen23
      
      
 el 20 de Mayo de 2020
        
      Editada: Stephen23
      
      
 el 22 de Mayo de 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 comentarios
  Stephen23
      
      
 el 22 de Mayo de 2020
				
      Editada: Stephen23
      
      
 el 22 de Mayo de 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.

Más respuestas (0)
Ver también
Categorías
				Más información sobre Annotations en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!





