多个非线性函数的迭代

4视图(30天)
埃里克·埃里克森
埃里克·埃里克森 2023年1月20日
我有一个任务,我需要clalculate温度分布在一个窗口elctric加热器安装在九个不同的点。
我已经正确的每一点温度曲线方程。现在我需要使用迭代找到温度在给定的时间,而这正是我的问题开始。
我的代码是这样的:
%给定值
k = 0.84;
Qh = 25;
Ti = 3;
= 3;
你好= 6;
何鸿燊= 20;
dx = 0.002;
dy = 0.01;
n_steps = 1000;
τ= 0.078;
T1 = 0 (n_steps, 1);
T1(1,1) =钛;
T2 = 0 (n_steps, 1);
T2(1,1) =钛;
T3 = 0 (n_steps, 1);
T3(1,1) =钛;
T4 = 0 (n_steps, 1);
T4(1,1) =钛;
T5 = 0 (n_steps, 1);
T5(1,1) =钛;
T6 = 0 (n_steps, 1);
T6(1,1) =钛;
T7 = 0 (n_steps, 1);
T7(1,1) =钛;
T8 = 0 (n_steps, 1);
T8(1,1) =钛;
T9 = 0 (n_steps, 1);
T9(1,1) =钛;
i = 1:(n_steps-1)
信谊T1 T2 T_ T4识别T5 T6 T7 T8 T9
eqn1 T1 = = =(1 - 2 *嗨* dy *τ/ k - 10.4 *τ)* T1 (i) + 2 *嗨* dy *τ* Ti / k + 10 *τ* T2 (i) + 0.4 *τ* T4(我);
eqn2 = T2 = =(1 - 10.4 *τ)* T2 (i) + 5 * (T1(我)+ T3(我))*τ+ 0.4 *τ* T5(我);
eqn3 = T3 = = (1 - 2 * ho * dy *τ/ k - 10.4 *τ)* T3 (i) + 2 * ho * dy *τ* / k + 10 *τ* T2 (i) + 0.4 *τ* T6(我);
T4 eqn4 = = =(1 - 2 *嗨* dy *τ/ k - 10.4 *τ)* T4 (i) + 2 *嗨* dy *τ* Ti / k + 0.2 *τ* (T1 (i) + T7(我))+ 10 *τ* T5(我);
eqn5 = T5 = =(1 - 10.4 *τ)* T5 (i) + 0.2 * (T2 (i) + T8(我))*τ+ 5 * (T4(我)+ T6 (i)) *τ;
何eqn6 = T6 = = (1 - 2 * * dy *τ/ k - 10.4 *τ)* T6 (i) + 2 * ho * dy *τ* / k + 0.2 * (T3(我)+ T9 (i)) *τ+ 10 *τ* T5(我);
eqn7 = T7 = =(1 - 2 *嗨* dy *τ/ k - 10.4 *τ)* T7 Qh *τ(我)+ 2 * / k + 2 *嗨* dy *τ* Ti / k + 0.4 *τ* T4 (i) + 10 *τ* T8(我);
eqn8 = T8 = =(1 - 10.4 *τ)* T8 (i) + 0.4 *τ* T5(我)+ 5 * (T7(我)+ T9 (i)) *τ;
何eqn9 = T9 = = (1 - 2 * * dy *τ/ k - 10.4 *τ)* T9 (i) + 2 * ho * dy *τ* / k + 0.4 *τ* T6(我)+ 10 * T8 (i) *τ;
s =解决([eqn1 eqn2 eqn3 eqn4 eqn5 eqn6 eqn7 eqn8 eqn9], [T1 T2 T3 T4 T5 T6 T7 T8 T9))
s = struct2array(年代);
s =双(s);
T1 (i + 1) = (1);
T2 (i + 1) = (2);
T3 (i + 1) = s (3);
T4 (i + 1) = (4);
T5 (i + 1) = (5);
T6 (i + 1) = (6);
T7 (i + 1) = s (7);
T8 (i + 1, - 1) = s (8);
T9 (i + 1) = (9);
结束
% 15分钟后温度
res_15min = (T1 (225 1), T2 (225 1), T3 (225 1), T4 (225 1), T5 (225,1); T6 (225,1); T7 (225 1), T8 (225,1); T9 (225 1))
%在稳态温度
res_ss = (T1 (525 1), T2 (525 1), T3 (525 1), T4 (525 1), T5 (525,1); T6 (525,1); T7 (525 1), T8 (525,1); T9 (525 1))
我不确定命令“解决”。
有谁知道一个更好的方法迭代这些方程,然后把它们吗?

答案(2)

Torsten
Torsten 2023年1月20日
%给定值
k = 0.84;
Qh = 25;
Ti = 3;
= 3;
你好= 6;
何鸿燊= 20;
dx = 0.002;
dy = 0.01;
n_steps = 1000;
τ= 0.078;
T1 = 0 (n_steps, 1);
T1(1,1) =钛;
T2 = 0 (n_steps, 1);
T2(1,1) =钛;
T3 = 0 (n_steps, 1);
T3(1,1) =钛;
T4 = 0 (n_steps, 1);
T4(1,1) =钛;
T5 = 0 (n_steps, 1);
T5(1,1) =钛;
T6 = 0 (n_steps, 1);
T6(1,1) =钛;
T7 = 0 (n_steps, 1);
T7(1,1) =钛;
T8 = 0 (n_steps, 1);
T8(1,1) =钛;
T9 = 0 (n_steps, 1);
T9(1,1) =钛;
i = 1:(n_steps-1)
T1 (i + 1) =(1 - 2 *嗨* dy *τ/ k - 10.4 *τ)* T1 (i) + 2 *嗨* dy *τ* Ti / k + 10 *τ* T2 (i) + 0.4 *τ* T4(我);
T2 (i + 1) =(1 - 10.4 *τ)* T2 (i) + 5 * (T1(我)+ T3(我))*τ+ 0.4 *τ* T5(我);
T3 (i + 1) = (1 - 2 * ho * dy *τ/ k - 10.4 *τ)* T3 (i) + 2 * ho * dy *τ* / k + 10 *τ* T2 (i) + 0.4 *τ* T6(我);
T4 (i + 1) =(1 - 2 *嗨* dy *τ/ k - 10.4 *τ)* T4 (i) + 2 *嗨* dy *τ* Ti / k + 0.2 *τ* (T1 (i) + T7(我))+ 10 *τ* T5(我);
T5 (i + 1) =(1 - 10.4 *τ)* T5 (i) + 0.2 * (T2 (i) + T8(我))*τ+ 5 * (T4(我)+ T6 (i)) *τ;
T6 (i + 1) = (1 - 2 * ho * dy *τ/ k - 10.4 *τ)* T6 (i) + 2 * ho * dy *τ* / k + 0.2 * (T3(我)+ T9 (i)) *τ+ 10 *τ* T5(我);
T7 (i + 1) =(1 - 2 *嗨* dy *τ/ k - 10.4 *τ)* T7 Qh *τ(我)+ 2 * / k + 2 *嗨* dy *τ* Ti / k + 0.4 *τ* T4 (i) + 10 *τ* T8(我);
T8 (i + 1, - 1) =(1 - 10.4 *τ)* T8 (i) + 0.4 *τ* T5 (i) + 5 * (T7(我)+ T9 (i)) *τ;
T9 (i + 1) = (1 - 2 * ho * dy *τ/ k - 10.4 *τ)* T9 (i) + 2 * ho * dy *τ* / k + 0.4 *τ* T6(我)+ 10 * T8 (i) *τ;
结束
情节((1:n_steps)。(T1、T2、T3、T4、T5 T6, T7, T8, T9))
1评论
埃里克·埃里克森
埃里克·埃里克森 2023年1月24日
非常简单和beatuful解决方案,正是我需要的!
谢谢你先生!

登录置评。


艾伦·史蒂文斯
艾伦·史蒂文斯 2023年1月20日
这里有一个快速和肮脏的方式。我把您修改以下记录所有的温度每一步。
%给定值
k = 0.84;
Qh = 25;
Ti = 3;
= 3;
你好= 6;
何鸿燊= 20;
dx = 0.002;
dy = 0.01;
n_steps = 1000;
τ= 0.078;
V =[2 *嗨* dy *τ* Ti / k;0;何2 * * dy *τ* / k;2 *嗨* dy *τ* Ti / k;0;何2 * * dy *τ* / k;
Qh *τ/ k + 2 * 2 *嗨* dy *τ* Ti / k;0;何2 * * dy *τ* / k);
M =[(1 - 2 *嗨* dy *τ/ k - 10.4 *τ),10 *τ0,0.4 *τ,0,0,0,0,0;
5 *τ,(1 - 10.4 *τ),5 *τ0,0.4 *τ,0,0,0,0;
0,10 *τ,(1 - 2 * * dy *τ/ k - 10.4 *τ),0,0,0.4 *τ,0,0,0;
0.2 *τ0 0,(1 - 2 *嗨* dy *τ/ k - 10.4 *τ),10 *τ0,0.2 *τ,0,0;
0,0.2 *τ0 5 *τ,(1 - 10.4 *τ),5 *τ,0,0,0;
0 0 0.2 *τ0 10 *τ,(1 - 2 * ho * dy *τ/ k - 10.4 *τ),0,0,0.2 *τ;
0,0,0,0.4 *τ,0,0,(1 - 2 *嗨* dy *τ/ k - 10.4 *τ),10 *τ0;
0,0,0,0,0.4 *τ0,5 *τ,(1 - 10.4 *τ),5 *τ;
0,0,0,0,0,0.4 *τ0,10 *τ,(1 - 2 * ho * dy *τ/ k - 10.4 *τ)];
T = Ti *的(9,1);
i = 1:(n_steps-1)
T = M * T + V;
如果我= = 225
disp (临时工在15分钟的)
disp (T ')
情节(1:9,T,“啊——”)
结束
如果我= = 525
disp (“稳态临时工”)
disp (T ')
情节(1:9,T,“啊——”)
结束
结束
临时工在15分钟
3.3086 3.2945 3.1006 6.0883 5.7174 5.6842 34.2074 29.9183 27.5795
稳态临时工
3.6452 3.6307 3.4263 6.3811 6.0066 5.9675 34.5453 30.2559 27.9065

下载188bet金宝搏


释放

R2022b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!