Trying to create a matrix by nesting a for loop in another for loop
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Michael Costa
el 31 de Oct. de 2020
Comentada: Michael Costa
el 1 de Nov. de 2020
I am trying to create a nx9 matrix by nesting a for loop in another for loop, where n is the number of iterations of the first for loop, and 9 is the number of iterations in the nested for loop. Specifically, I am iterating through different values for the NTU of a heat exchanger in the first loop, and the nested loop iterates through 9 different surface areas (A) from actual heat exchangers. The overall heat transfer coefficient is calculated for each heat exchanger for each different NTU. Here is what I have so far
i = 0;
for NTU = 2.5:0.1:3.5
i = i + 1;
eff(i) = effectiveness(NTU, c, 'One Shell Pass');
Q(i) = eff(i)*Qmax; %kW
T5(i) = Q(i)/Cmin + T4;
T14(i) = T13 - Q(i)/Cmax;
NTU_i(i) = NTU;
%Finding the overall transfer coefficient
for j = 1:9
U(j) = ((NTU*Cmin)/A(j));
end
end
0 comentarios
Respuesta aceptada
Sindar
el 1 de Nov. de 2020
Editada: Sindar
el 1 de Nov. de 2020
No need for loops, except if effectiveness doesn't accept arrays
% nx1
NTU = (2.5:0.1:3.5).';
for i=1:length(NTU)
eff(i) = effectiveness(NTU(i), c, 'One Shell Pass');
end
Q = eff*Qmax; %kW
T5 = Q./Cmin + T4;
T14 = T13 - Q./Cmax;
% make sure A is the right shape
if isequal(size(A),[1 9])
elseif isequal(size(A),[9 1])
A = A.';
else
error('A is not the expected size: 1x9')
end
%Finding the overall transfer coefficient
% elementwise division will expand nx1 NTU / 1x9 A into nx9 U
U = (NTU.*Cmin)./A;
Más respuestas (0)
Ver también
Categorías
Más información sobre Interpolating Gridded Data 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!