我正在尝试根据在Sim4Life.
上建立的模型计算DT值。首先,我想说我是一个完整的初学者,并且我试图了解编程的原理一般工作。
现在,我有一个function
,其中有一些constants
和two variables
,一个是时间Dt
(从1秒到900秒),另一个是时间初始DT_i
值。
我想计算每秒的温度升高,并创建一个循环,将DT_i
值替换为DT_1_i
值,并计算升高的温度DT_i_1
。
函数看起来像这样:DT_1_i=DT_i+Dt
。
我知道这是一个非常简单的问题,但是我无法解决其他类似问题。任何帮助将不胜感激。
答案 0 :(得分:1)
您需要初始温度变化,我用过0
T(i+1)
代表下一个温度变化
T(i)
代表当前温度变化
i
代表时间步长,dt
通读我的代码中的注释
使用for loop
设置时间for i = 1 : 900 %Temperature increase end
我= 1:900意味着
首次运行使用时间= 1秒,
第二次运行时间= 1 + 1 = 2
直到900
代码如下
% Initial Temperature variation is set to zero, unless you have some data
d = 1.3;
c = 3.7;
S_i = 3*10^3;
t_reg = 900;
%Time
t = 1:900;
% Length oftime to help me know the size of the variable needed to
% initialize
l = length(t);
% Initialize variable that used to store DT it helps speed up
% comutation
% Initial Temperature variation is set to zero, unless you have some data
DT = zeros(1, l);
for i = 1:900
% the value of i represent dt, first run i = 1, dt = 1, second run
% i = 2 and dt = 2 so on
if i == 900
%do nothing already reached the last index 900, i+1 = 901 will be
%out of range
else
DT(i+1) = DT(i) + (i./t_reg).*(d.*sqrt(c*S_i)-DT(i+1));
end
end