有限差分法

有限差分法
一、单变量函数:
用中心差分法(matlab程序见附录)计算结果如下:
1 中心差分法
2 绝对误差
数据对比
 x
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
精确解y
0
0.070467
0.14264
0.21824
0.29903
0.38682
0.48348
0.59099
0.71141
0.84696
1
数值解y
0
0.070489
0.14268
0.2183
0.29911
0.3869
0.48357
0.59107
0.71148
肥料登记管理办法
0.847
1
绝对误差
0
2.2E-05
4E-05
6E-05
8E-05
8E-05
9E-05
线粒体8E-05
7E-05
4E-05
0
涨潮海岸
小结:可见由中心差分法解本算例,其绝对误差数量级为
二、一维热传导:
在此取φ(x)=0g1(t)= g2(t)=100-100*exp(-t)
问题描述:
已知厚度为l的无限大平板,初温0 ,初始瞬间将其放于温度100度的流体中,流体与板面间的表面传热系数为一常数。
试确定在非稳态过程中板内的温度分布。
(1) 显式差分法:
3 显式差分法
(2) 隐式差分法:
4 隐式差分法
小结:显式格式仅当时格式是稳定的。(其中称为网格比)
隐式格式从k层求k+1层时,需要求解一个阶方程组。而且隐式格式的稳定性对网格比没有要求,即为绝对稳定的。
三、Possion方程:
f=1,R=1
5差分法
6 误差
小结:观察误差曲面,其绝对误差数量级为

Matlab程序:
1题:
%===========================Boundary Value Problem 1
clear;clc;
A=[-2.01 1 0 0 0 0 0 0 0;
    1 -2.01 1 0 0 0 0 0 0;
    0 1 -2.01 1 0 0 0 0 0;
    0 0 1 -2.01 1 0 0 0 0;
    0 0 0 1 -2.01 1 0 0 0;
    0 0 0 0 1 -2.01 1 0 0;
    0 0 0 0 0 1 -2.01 1 0;
    0 0 0 0 0 0 1 -2.01 1;
    0 0 0 0 0 0 0 1 -2.01;];
c1=[0.1;0.2;0.3;0.4;0.5;0.6;0.7;0.8;0.9];
C=0.01*c1-1*[0;0;0;0;0;0;0;0;1];
y=A\C;
x=0:0.1:1;
yn=[0;y;1];
ye=2*(exp(x)-exp(-x))/(exp(1)-exp(-1))-x;
figure(1);
plot(x,yn,'*',x,ye);
legend('numerical solution','exact solution')
xlabel('x','fontsize',20);
ylabel('y',皖西学院学报'fontsize',20);
set(gca,'fontsize',18);
figure(2);
err=abs(ye'-yn);
plot(x,err);
legend('error')
xlabel('x','fontsize',20);
ylabel('y','fontsize',20);
set(gca,'fontsize',18);
2题:
%========================Boundary Value Problem 1_Explicit
%显式
clear;clc
l=20;%板厚
h=1;%步长
J=l/h;
T=50;%时间
tao=2.5;%步长
N=T/tao;
%下面组合A矩阵
a=0.2;
lamda=tao/(h^2);
zhu=1-2*a*lamda;
ce=a*lamda;
a00=ones(1,J-1);
a0=diag(a00);
A0=zhu*a0;
a01=ones(1,J-2);
a1=diag(a01,1);
A1=ce*a1;
a2=diag(a01,-1);
A2=ce*a2;
A=A0+A1+A2;
u(:,1)=0;  %板的初始温度
for i=2:N+1   
    u(1,i)=100-100*exp(-(i-1)*tao);  %边界条件
    u(J+1,i)=100-100*exp(-(i-1)*tao);  %边界条件
hca
end
% g01=u(:,1);
% g02=u(:,J);
for k=1:N
%    g01=ce*g1(1,k);
%    g02=ce*g2(1,k);
    oo=zeros(J-3,1);
    g(:,k)=[ce*u(1,k);oo;ce*u(J+1,k)];
    u(2:end-1,k+1)=A*u(2:end-1,k)+g(:,k);
end
t=0:h:l;
x=0:tao:T;
mesh(x,t,u)
xlabel('t','fontsize',20);
ylabel('x'间戊二烯,'fontsize',20);
zlabel('T','fontsize',20);
set(gca,'fontsize',18);
%========================Boundary Value Problem 1_2Implicit
%隐式
clear;clc
l=20;%板厚
h=1;%步长
J=l/h;
T=50;%时间
tao=2.5;%步长
N=T/tao;
%下面组合A矩阵
a=0.2;
lamda=tao/(h^2);
zhu=1+2*a*lamda;
ce=-a*lamda;
a00=ones(1,J-1);
a0=diag(a00);
A0=zhu*a0;
a01=ones(1,J-2);
a1=diag(a01,1);
A1=ce*a1;
a2=diag(a01,-1);
A2=ce*a2;
A=A0+A1+A2;
u(:,1)=0;  %板的初始温度
for i=2:N+1   

本文发布于:2024-09-21 04:24:50,感谢您对本站的认可!

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

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

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