I need to loop this operation and store them in a matrix

1 回表示 (過去 30 日間)
Carlos Puente
Carlos Puente 2021 年 12 月 2 日
編集済み: Carlos Puente 2021 年 12 月 2 日

function stainless_steel(~,~,~)
clear,clc

T_i = [0 0 12.5 25 37.5 50 0];
k = 0.0162;
cp = 0.5;
rho = 8000;
dt = 3;
dx = 0.0125;
t = 120;
q = 20000;

Fo = (k*dt)/(((dx)^2)*rho*cp);
e_gen = q*(dt)/(rho*cp);

n = t/dt;

p = 1;
T_A = zeros(p,7);

for x = 2:6

T(x) = [Fo*(T_i(1,x+1)+273.15 + T_i(1,x-1)+273.15) + (T_i(1,x)+273.15)*(1-2*Fo) + e_gen - 273.15];

end

disp(T)

I need to make the resultant matrix [0 15.9720 27.5000 40.0000 52.5000 60.1400] to be T_i in each loop and store each result in the matrix T_A and I don't now how to do it.

回答 (1 件)

Walter Roberson
Walter Roberson 2021 年 12 月 2 日
stainless_steel()
T_A = 1×6
0 15.9720 27.5000 40.0000 52.5000 60.1400
function stainless_steel(~,~,~)
T_i = [0 0 12.5 25 37.5 50 0];
k = 0.0162;
cp = 0.5;
rho = 8000;
dt = 3;
dx = 0.0125;
t = 120;
q = 20000;
Fo = (k*dt)/(((dx)^2)*rho*cp);
e_gen = q*(dt)/(rho*cp);
n = t/dt;
p = 1;
T_A = zeros(p,6);
for iteration = 1 : p
for x = 2:6
T(x) = [Fo*(T_i(1,x+1)+273.15 + T_i(1,x-1)+273.15) + (T_i(1,x)+273.15)*(1-2*Fo) + e_gen - 273.15];
end
T_A(iteration, :) = T;
end
T_A
end
  1 件のコメント
Carlos Puente
Carlos Puente 2021 年 12 月 2 日
編集済み: Carlos Puente 2021 年 12 月 2 日
I have my code like this
function stainless_steel(~,~,~)
clear,clc
T_i = [0 0 12.5 25 37.5 50 0];
k = 0.0162;
cp = 0.5;
rho = 8000;
dt = 3;
dx = 0.0125;
t = 120;
q = 20000;
Fo = (k*dt)/(((dx)^2)*rho*cp);
e_gen = q*(dt)/(rho*cp);
n = t/dt;
p = n;
T = zeros(n,7);
for iteration = 1:p
for x = 2:6
T(iteration,x) = [Fo*(T_i(1,x+1)+273.15 + T_i(1,x-1)+273.15) + (T_i(1,x)+273.15)*(1-2*Fo) + e_gen - 273.15];
end
end
T_i = T;
disp(T)
end
And I'm getting this as a result:
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
0 15.9720 27.5000 40.0000 52.5000 60.1400 0
But what I need is the matrix T_i to change each time. For example, if T_i at the beginning was
[0 0 12.5 25 37.5 50 0]
I need my second T_i to be [ 0 15.9720 27.5000 40.0000 52.5000 60.1400 0]
And my third T_i to be whatever result I get from the second T_i being T_i and so on for 40 iterations.
But I don't know how to achieve that :(

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

カテゴリ

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

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by