Trying to create a matrix by nesting a for loop in another for loop
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Michael Costa
am 31 Okt. 2020
Kommentiert: Michael Costa
am 1 Nov. 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 Kommentare
Akzeptierte Antwort
Sindar
am 1 Nov. 2020
Bearbeitet: Sindar
am 1 Nov. 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;
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Interpolating Gridded Data finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!