How to multiply matrix by using for loop

1 回表示 (過去 30 日間)
Luka Milat
Luka Milat 2020 年 1 月 11 日
コメント済み: Luka Milat 2020 年 1 月 11 日
I am trying to calculate heat for 3 different stages and I have written my 3 cases in the form of a matrix. I want to get the final Q with all 3 stages but I am getting only first one calculated.
Qhc = 2000000*1000;%J , potrebna energija za grijanje u jednom satu
N = 200; %broj VK
Qg = Qhc/3600;
t = 3600; %vrijeme
Tz1 = 20; %°C
Tw1g = 50; %°C
Tw1h = 7; %°C
cpz = 1050; %J/kgK
cpw = 4187; %J/kgK
roz = 1.225; %kg/m3
row = 997; %kg/m3
Vw = 488 / ( 3600 * 1000 ); %m3/s protok vode
Cmax = row * Vw * cpw;
kA = [97.50664 156.195 234.9065]; %W/m2K
Vz = [ 340/3600 510/3600 680/3600 ]; %m3/s
Pvent = [ 11.99605 17.38172 29 ]; %W
Q = [ 0 0 0 ];
Qvk = 0;
P = 0;
for i = 1:length(Vz)
Cmin(i) = roz * Vz(i) * cpz; %W/K
NTU(i) = kA(i) / Cmin(i);
C(i) = Cmin(i) / Cmax;
eta(i) = NTU(i) .^ (-0.22);
epsilon(i) = 1 - exp ((1/(C(i)*eta(i))*(exp(-NTU(i)*C(i)*eta(i))-1)));
if Qhc > 0
Q(i) = Cmin(i) * epsilon(i) * (Tw1g - Tz1);
Q_J(i) = Q(i) * 3600; %energija koju preda u jednom satu
elseif Qhc < 0
Q(i) = Cmin(i) * epsilon(i) * (Tz1 - Tw1h);
Q_J(i) = Q(i) * 3600; %energija koju preda u jednom satu
end
end

採用された回答

KALYAN ACHARJYA
KALYAN ACHARJYA 2020 年 1 月 11 日
編集済み: KALYAN ACHARJYA 2020 年 1 月 11 日
clc;
clear;
Qhc=2000000*1000;%J , potrebna energija za grijanje u jednom satu
N=200; %broj VK
Qg=Qhc/3600;
t=3600; %vrijeme
Tz1=20; %°C
Tw1g=50; %°C
Tw1h=7; %°C
cpz=1050; %J/kgK
cpw=4187; %J/kgK
roz=1.225; %kg/m3
row=997; %kg/m3
Vw=488/(3600*1000 ); %m3/s protok vode
Cmax=row*Vw*cpw;
kA=[97.50664 156.195 234.9065]; %W/m2K
Vz=[340/3600 510/3600 680/3600 ]; %m3/s
Pvent=[11.99605 17.38172 29 ]; %W
Q=[0 0 0];
Qvk=0;
P=0;
for i=1:length(Vz)
Cmin(i)=roz*Vz(i)*cpz; %W/K
NTU(i)=kA(i)/Cmin(i);
C(i)=Cmin(i)/Cmax;
eta(i)=NTU(i).^(-0.22);
epsilon(i)=1-exp ((1/(C(i)*eta(i))*(exp(-NTU(i)*C(i)*eta(i))-1)));
if Qhc > 0
Q(i)=Cmin(i) * epsilon(i) * (Tw1g - Tz1);
Q_J(i)=Q(i) * 3600; %energija koju preda u jednom satu
else
Q(i) = Cmin(i) * epsilon(i) * (Tz1 - Tw1h);
Q_J(i) = Q(i) * 3600; %energija koju preda u jednom satu
end
end
Q
Q_J
Result:
Q =
1.0e+03 *
1.8956 2.8731 3.9813
Q_J =
1.0e+07 *
0.6824 1.0343 1.4333
  1 件のコメント
Luka Milat
Luka Milat 2020 年 1 月 11 日
Huh,
I would swear that something was wrong with the code. Thanks for your time anyway!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeGraphics Performance についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by