有限差分法的一维扩散MATLAB,一维扩散方程的有限差分法matlab

用matlab编程实现一维扩散方程的有限差分法

1 一维扩散方程的有限差分法

——计算物理实验作业七

陈万 物理学2013级 130********

● 题目:

编程求解一维扩散方程的解

⎪⎪⎪⎪⎩

⎪⎪⎪⎪⎨⎧==∂∂+==∂∂+=≤≤≤≤∂∂=∂∂=)()0(|),()0,0(02221110max 022a x c n u b u a x c n u b u a e t x u t t a x x u D t

u x

t 取1.0,1.0,1.0,10,0.1,0,1,1,0,1,1max 0222111======-=====τh D t a c b a c b a 。输出t=1,2,...,10时刻的x 和u(x),并与解析解u=exp(x+0.1t)作比较。 ● 主程序:

% 一维扩散方程的有限差分法

clear,clc;

%定义初始常量

a1 = 1; b1 = 1; c1 = 0; a2 = 1;b2 = -1; c2 = 0;

a0 = 1.0; t_max = 10; D = 0.1; h = 0.1; tao = 0.1;

%调用扩散方程子函数求解

u = diffuse_equation(a0,t_max,h,tao,D,a1,b1,c1,a2,b2,c2);

● 子程序1:

function output = diffuse_equation(a0,t_max,h,tao,D,a1,b1,c1,a2,b2,c2) % 一维扩散方程的有限差分法,采用隐式六点差分格式(Crank-Nicolson) % a0: x 的最大值

% t:_max: t 的最大值

% h: 空间步长

% tao: 时间步长

% D :扩散系数

% a1,b1,c1是(x=0)边界条件的系数;a2,b2,c2是(x=a0)边界条件的系数

x = 0:h:a0;

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值