| 查看: 558 | 回复: 1 | ||
蓝谙至尊木虫 (职业作家)
|
[求助]
自己写了一个二维热传导方程的向前差分法,提示有两个错误,但不知怎么改。帮帮忙啦~
|
|
function u=uu(x,y)%边界函数 u=(x.^2)*sin(y)-(y.^2)*sin(x); end function [x,y,u]=heat(x0,xn,y0,yn,t0,tn,h1,h2,a)%二维热传导方程的向前差分 n1=(xn-x0)/h1;%x y的点的个数 n2=(tn-t0)/h2;%t 的点的个数 for i=1:n1 for j=1:n1 u1(i,j,1)=0;%第一层初始化 end end x(1)=x0;y(1)=y0; for i=1:n1 x(i+1)=x(i)+h1; y(i+1)=y(i)+h1;%求出x y的坐标 end for i=1:n1 for j=1:n2 u1(1,i,j)=feval(uu,x(1),y(i));%x=x0的边值 end end for i=1:n1 for j=1:n2 u1(n1,i,j)=feval(uu,x(n1),y(i));%x=xn的边值 end end for i=1:n1 for j=1:n2 u1(i,1,j)=feval(uu,x(i),y(1));%y=y0的边值 end end for i=1:n1 for j=1:n2 u1(i,n1,j)=feval(uu,x(i),y(xn));%y=yn的边值 end end r=a*h2/(h1^2); for k=2 n2-1)for i=2 n1-1)for j=2 n1-1)u(i,j,k+1)=u(i,j,k)+r*(u(i+1,j,k)-4*u(i,j,k)+u(i-1,j,k)+u(i,j+1,k)+u(i,j-1,k)) end end end for i=1:n1 for j=1:n1 u(i,j)=u1(i,j,n2); end end |
» 猜你喜欢
之前让一硕士生水了7个发明专利,现在这7个获批发明专利的维护费可从哪儿支出哈?
已经有5人回复
博士读完未来一定会好吗
已经有29人回复
博士申请都是内定的吗?
已经有5人回复
到新单位后,换了新的研究方向,没有团队,持续积累2区以上论文,能申请到面上吗
已经有12人回复
投稿精细化工
已经有4人回复
高职单位投计算机相关的北核或SCI四区期刊推荐,求支招!
已经有4人回复
导师想让我从独立一作变成了共一第一
已经有9人回复
读博
已经有4人回复
JMPT 期刊投稿流程
已经有4人回复
心脉受损
已经有5人回复
蓝谙
至尊木虫 (职业作家)
- 应助: 3 (幼儿园)
- 金币: 10510.4
- 散金: 1340
- 红花: 20
- 沙发: 7
- 帖子: 3250
- 在线: 280.3小时
- 虫号: 3885761
- 注册: 2015-05-23
- 性别: MM
- 专业: 计算机应用技术
2楼2015-11-28 22:51:13













n2-1)
回复此楼