隐式差分方程组差分法matlab,一维扩散方程的有限差分法matlab

隐式差分⽅程组差分法matlab,⼀维扩散⽅程的有限差分法
matlab
《⼀维扩散⽅程的有限差分法matlab》由会员分享,可在线阅读,更多相关《⼀维扩散⽅程的有限差分法matlab(7页珍藏版)》请在⼈⼈⽂库⽹上搜索。
1、⼀维扩散⽅程有限差分法计算物理实验作业七陈万 物理学2013级 l 题⽬:编程求解⼀维扩散⽅程解取。输出t=1,2,.,10时刻x和u(x),并与解析解u=exp(x+0.1t)作⽐较。l 主程序:% ⼀维扩散⽅程有限差分法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);l ⼦程序。
2、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;n = length(x);t = 0:tao:t_max;k = length(t); P = tao * D/h2;P1 = 1/P + 1;P2 = 1/P。汪光焘
路易斯安那州3、 - 1;u = zeros(k,n);%初始条件u(1,:) = exp(x);%求A矩阵对⾓元素dd = zeros(1,n);d(1,1) = b1*P1+h*a三星p30笔记本
1;d(2:(n-1),1) =
2*P1;d(n,1) = b2*P1+h*a2;%求A矩阵对⾓元素下⾯⼀⾏元素ee = -ones(1,n-1);e(1,n-1) = -b2;%求A矩阵对⾓元素上⾯⼀⾏元素ff = -ones(1,n-1);f(1,1) = -b1;R = zeros(k,n);%求R%追赶法求解for i = 2:kR(i,1) = (b1*P2-h*a1)*u(i-1,1)+b1*u(i-1,2)+2*。
德比尔斯4、h*c1;for j = 2:n-1R(i,j) = u(i-1,j-1)+2*P2*u(i-1,j)+u(i-1,j+1);endR(i,n) = b2*u(i-1,n-1)+( b2*P2-h*a2)*u(i-1,n)+2*h*c2;M = chase(e,d,f,R(i,:);u(i,:) = M;plot(x,u(i,:); axis(0 a0 0 t_max); pause(0.1)endoutput = u;% 绘图⽐较解析解和有限差分解X,T = meshgrid(x,t);Z = exp(X+0.1*T);surf(X,T,Z),xlabel(x),ylabel(t),zlab。
明光市教育局
5、el(u),title(解析解);figuresurf(X,T,u),xlabel(x),ylabel(t),zlabel(u),title(有限差分解);l ⼦程序2:function M = chase(a,b,c,f)% 追赶法求解三对⾓矩阵⽅程,Ax=f% a是对⾓线下边⼀⾏元素% b是对⾓线元素% c是对⾓线上边⼀⾏元素% M是求得结果,以列向量形式保存n = length(b);beta = ones(1,n-1);y = ones(1,n);M = ones(n,1);for i = (n-1):(-1):1a(i+1) = a(i);end% 将a矩阵和n对应beta(1) =。
6、 c(1)/b(1);for i = 2:(n-1)beta(i) = c(i)/( b(i)-a(i)*beta(i-1) );endy(1) = f(1)/b(1);for i = 2:ny(i) = (f(i)-a(i)*y(i-1)/(b(i)-
无人机管控
a(i)*beta(i-1);endM(n) = y(n);for i = (n-1):(-1):1M(i) = y(i)-beta(i)*M(i+1);end endl 结果:对⽐分析两图,结果令⼈满意。取出
t_max时刻u值分析:()有限差分解如下:2.3.3.3.4.4.4.5.6.6.7.解析解如下:2.2.3.3.4.4.4.5.6.6.7.分析数据可知误差量级为
=0.12+0.12=0.02l 总结:(1) 隐式六点差分格式(Crank-Nicolson)基本思想是⽤前⼀时刻三个点表⽰后⼀时刻三个点。因为不是直接表⽰u(k+1,i),故称为隐式差分。(2) x由等步长被分割为N个点,列出N个⽅程。采⽤追赶法求解得到结果。原理很简单,关键是求解AU=R 中A和R。(3) ⼦函数2功能是实现追赶法,该程序中没有直接⽤A来表⽰三对⾓矩阵,⽽是把3列对⾓元素直接拿出来,因此在调⽤时应当注意各对⾓元素位置,避免调⽤错误。

本文发布于:2024-09-21 12:30:23,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/358851.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:求解   差分法   结果   元素
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议