24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 3384  |  回复: 12
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

paipai314

金虫 (初入文坛)

[求助] 中心差分求解二维热传导的matlab程序

clear;close all;
L=100;S=120;M=20;N=24;timeMax=50000;
Currtime=100;DL=[0:L/M:L];DS=[0:S/N:S];
T=ones(M,N,timeMax)*30;
T(1:M,1,1:1:timeMax)=50;
T(1:M,N,1:1:timeMax)=50;
T(1,1:N,1:1:timeMax)=80;
T(M,1:N,1:1:timeMax)=100;
f=0.1;
for i=2:M-1
  for j=2:N-1
    T(i,j,2)=f*T(i-1,j,1)+f*T(i,j-1,1)+(1-4*f)*T(i,j,1)+f*T(i+1,j,1);
  end;
end;
for t=3:timeMax
for i=2:M-1
  for j=2:N-1
    T(i,j,t)=f*T(i-1,j,t-1)+f*T(i,j-1,t-1)-4*f*T(i,j,t-1)+f*T(i+1,j,t-1)+f*T(i,j+1,t-1)+T(i,j,t-2);
  end;
end;
end;
[x,y]=meshgrid(1:M,1:N);
mesh(T(1:M,1:N,Currtime));
title(['2D Temperature Field, t=',num2str(Currtime-1),'s']);
xlabel('x length(L/M)');
ylabel('y length(L/N)');
zlabel('Temperature(^oC)')
运行结果不正确,是方程不收敛么==  求大神指导,求思路
回复此楼

» 收录本帖的淘帖专辑推荐

好帖子

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

paipai314

金虫 (初入文坛)

引用回帖:
2楼: Originally posted by yongcailiu at 2013-09-21 20:11:05
for i=2:M-1
  for j=2:N-1
    T(i,j,2)=f*T(i-1,j,1)+f*T(i,j-1,1)+(1-4*f)*T(i,j,1)+f*T(i+1,j,1);
  end;
end;
这里面用的公式不对吧?循环体执行的应该是
T(i,j,2)=f*T(i-1,j,1)+f*T(i,j-1,1)+f*T(i,j+1 ...

如果是方程不满足收敛性,可以修正么?该如何修正?
4楼2013-09-21 20:32:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 13 个回答

yongcailiu

金虫 (小有名气)

for i=2:M-1
  for j=2:N-1
    T(i,j,2)=f*T(i-1,j,1)+f*T(i,j-1,1)+(1-4*f)*T(i,j,1)+f*T(i+1,j,1);
  end;
end;
这里面用的公式不对吧?循环体执行的应该是
T(i,j,2)=f*T(i-1,j,1)+f*T(i,j-1,1)+f*T(i,j+1,1)-4*f*T(i,j,1)+f*T(i+1,j,1);

如果结果还不正确,可能对于你给定的方程,中心差分法不满足收敛性或者稳定性了
2楼2013-09-21 20:11:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

paipai314

金虫 (初入文坛)

引用回帖:
2楼: Originally posted by yongcailiu at 2013-09-21 20:11:05
for i=2:M-1
  for j=2:N-1
    T(i,j,2)=f*T(i-1,j,1)+f*T(i,j-1,1)+(1-4*f)*T(i,j,1)+f*T(i+1,j,1);
  end;
end;
这里面用的公式不对吧?循环体执行的应该是
T(i,j,2)=f*T(i-1,j,1)+f*T(i,j-1,1)+f*T(i,j+1 ...

也还是不对的,,,
我的思路是,中心差分的时间差有2,所以需要知道前2秒的状态才可以继续算后面的,所以第2秒的状态先用前向差分算。这个思路是不是正确的?有误的话烦请指教一下。或者有没有其他的思路?
3楼2013-09-21 20:25:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yongcailiu

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
paipai314: 金币+5, ★★★很有帮助 2013-09-22 22:28:02
引用回帖:
4楼: Originally posted by paipai314 at 2013-09-21 20:32:37
如果是方程不满足收敛性,可以修正么?该如何修正?...

如果你求解的是二维的热传导方程的话,用中心差分格式可能确实不行。原因是一维的热传导方程,中心差分格式(Richardson格式)恒不稳定。参见高教出版社李荣华等编著的《微分方程数值解法(第四版)》第三章的内容,里面提到了一维情形下的分数步长法,理论结果挺好的,希望对你有帮助。另外,你的程序写的没问题,我当时没有理解好你要求解的方程,看程序中的代码你使用的好像不是中心差分格式,倒像是向前差分格式,而采用向前差分格式是条件稳定的,也就是时间步长tao,前面的系数a(对应你程序里面的f)和空间步长h应该满足一定条件,即r=a*tao/(h*h)<=0.5(一维情况下的结果)。
5楼2013-09-22 22:01:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 277求调剂 +4 考研调剂lxh 2026-04-05 4/200 2026-04-05 18:11 by 蓝云思雨
[考研] 377求调剂 +3 by.ovo 2026-04-05 3/150 2026-04-05 17:49 by wxiongid
[考研] 272求调剂 +4 电气李 2026-04-05 4/200 2026-04-05 10:41 by lbsjt
[考研] 求调剂 +10 熊二想上岸 2026-04-04 10/500 2026-04-05 08:09 by qlm5820
[考研] 考研调剂 +6 15615482637 2026-04-04 6/300 2026-04-04 22:43 by yu221
[考研] 323求调剂 +8 李佳乐1 2026-04-04 8/400 2026-04-04 22:26 by hemengdong
[考研] 278求调剂 +3 依旧! 2026-04-02 4/200 2026-04-04 20:27 by 蓝云思雨
[考研] 298求调剂 +5 zzz,,r 2026-04-02 8/400 2026-04-04 19:55 by 蓝云思雨
[考研] +5 雾与海 2026-04-02 6/300 2026-04-04 19:53 by 蓝云思雨
[考研] 348分环境工程·调剂 +10 吴彦祖24k 2026-04-03 11/550 2026-04-04 14:19 by 无际的草原
[考研] 268求调剂 +8 你好tg 2026-04-03 9/450 2026-04-04 05:08 by gswylq
[考研] 考研调剂 +8 不爱喝饮料 2026-04-03 8/400 2026-04-03 16:40 by Mistake-J
[考研] 求材料调剂 一志愿南昌大学 328分 +5 yyy..... 2026-04-03 5/250 2026-04-03 13:46 by 百灵童888
[考研] 303求调剂 +3 一色清羽 2026-04-02 4/200 2026-04-03 10:22 by 蓝云思雨
[考研] 求调剂求调剂 +7 121. 2026-04-02 7/350 2026-04-02 19:15 by dick_runner
[考研] 0856初试324分求调剂 +6 想上学求调 2026-04-01 6/300 2026-04-02 11:42 by 星空星月
[考研] 一志愿安徽大学计算机科学与技术学硕,331分求调剂 +5 蒋昌鹏qtj 2026-04-01 5/250 2026-04-02 08:10 by fxue1114
[考研] 323分 食品与营养调剂 +3 嘿ooo 2026-03-31 3/150 2026-03-31 09:38 by longlotian
[考研] 083000环境科学与工程调剂,总分281 +4 橙子(胜意) 2026-03-30 4/200 2026-03-31 00:44 by Linzejun
[考研] 285求调剂 +6 AZMK 2026-03-29 9/450 2026-03-30 21:02 by dophin1985
信息提示
请填处理意见