如何用matlab编辑热方程,MATLAB编辑一维热传导方程的模拟程序

有限差分法求出温度T 与杆长L 、时间t 的关系

求解下列热传导问题:

()()()()?????????====-=≤≤=??-??1,

10,,1,010,001222ααL t L T t T z

z T L z t T z T

程序:

function heat_conduction() %一维齐次热传导方程

options={'空间杆长L','空间点数N' ,'时间点数M','扩散系数alfa','稳定条件的值lambda(取值必须小于0.5)',};

topic='seting';

lines=1;

def={'1','100','1000','1','0.5'};

h=inputdlg(options,topic,lines,def);

L=eval(h{1});

N=eval(h{2});

M=eval(h{3});

alfa=eval(h{4});

lambda=eval(h{5});%lambda 的值必须小于0.5

%***************************************************

h=L/N;%空间步长

z=0:h:L;

z=z';

tao=lambda*h^2/alfa;%时间步长

tm=M*tao;%热传导的总时间tm

t=0:tao:tm;

t=t';

%计算初值和边值

T=zeros(N+1,M+1);

Ti=init_fun(z);

To=border_funo(t);

Te=border_fune(t);

T(:,1)=Ti;

T(1,:)=To;

T(N+1,:)=Te;

%用有限差分法求出温度T 与杆长L 、时间t 的关系

for k=1:M

m=2;

while m<=N

T(m,k+1)=lambda*(T(m+1,k)+T(m-1,k))+(-2*lambda+1)*T(m,k); m=m+1;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值