我试图在 Matlab 中解决一维传导稳态传热问题(见下文)。
这是一维模型:
T''[x] == 0, T[0] == 100, T'[100] == 0
分析解决方案:
T[x] = 100 for x: [0, 100]
我很惊讶,正确的解决方案需要如此多的迭代(2,500,000)(这里:每个节点的 T=100)...
对于这样一个使用 FD 的非常简单的 ODE,我们确实需要如此多的迭代吗?要么?
更新:
@ConvexHull:如果使用 k = 2,500,000,则数值解等于解析解。(只需运行它)
Matlab 代码中的一维传导稳态热传递如下所示:
clc
clear all
L=100;
N=1000;
dx=L/(N-1);
T = zeros(N,1);
Tb = 100; % initial temperature
k = 1500000;
T(1,1)=Tb;
for j=1:k
for i=2:N-1
T(i,1)=(T(i+1,1)+T(i-1,1))/2;
end
T(N,1) = T(N-1,1);
end
xx= 0:dx:L;
plot(xx,T)
ylim([0 100])