一维波动方程的有限差分法.docx

上传人:b****6 文档编号:15612214 上传时间:2023-07-06 格式:DOCX 页数:12 大小:28.54KB
下载 相关 举报
一维波动方程的有限差分法.docx_第1页
第1页 / 共12页
一维波动方程的有限差分法.docx_第2页
第2页 / 共12页
一维波动方程的有限差分法.docx_第3页
第3页 / 共12页
一维波动方程的有限差分法.docx_第4页
第4页 / 共12页
一维波动方程的有限差分法.docx_第5页
第5页 / 共12页
一维波动方程的有限差分法.docx_第6页
第6页 / 共12页
一维波动方程的有限差分法.docx_第7页
第7页 / 共12页
一维波动方程的有限差分法.docx_第8页
第8页 / 共12页
一维波动方程的有限差分法.docx_第9页
第9页 / 共12页
一维波动方程的有限差分法.docx_第10页
第10页 / 共12页
一维波动方程的有限差分法.docx_第11页
第11页 / 共12页
一维波动方程的有限差分法.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

一维波动方程的有限差分法.docx

《一维波动方程的有限差分法.docx》由会员分享,可在线阅读,更多相关《一维波动方程的有限差分法.docx(12页珍藏版)》请在冰点文库上搜索。

一维波动方程的有限差分法.docx

一维波动方程的有限差分法

学生实验报告

实验课程名称偏微分方程数值解

开课实验室数统学院

学院数统年级2013专业班信计02班

学生姓名学号

开课时间2015至2016学年第2学期

总成绩

教师签名

数学与统计学院制

开课学院、实验室:

数统学院实验时间:

2016年6月20日

实验项目

名称

一维波动方程的有限差分法

实验项目类型

验证

演示

综合

设计

其他

指导教师

曾芳成绩

1.实验目的

通过该实验,要求学生掌握求解一维波动方程的有限差分法,并能通过计算机语言编程实现。

2.实验内容

考虑如下的初值问题:

2u2u

22,x0,1,t0,2

tx

ux,0sinx,—j~ux,00

(1)

u0,tu1,t0,t0,2

1.在第三部分写出问题

(1)三层显格式。

2.根据你写出的差分格式,编写有限差分法程序。

将所写程序放到第四部分。

3.取h0.1,0.1h,分别将t0.5,1.0,1.5,2.0时刻的数值解画图显示。

4•该问题的解析解为ux,tcostsinx,将四个时刻的数值解的误差画图显示,对数值结果进行简单的讨论。

3.实验原理、方法(算法)、步骤

1、三层显格式建立

由于题中h0.1,0.1h,x

0,1,t

0,2,取N10,M200,故令网比r0.1,h

Xjjh,j0,1,2,L10,tk

k,k

O,1L

200,在

内网个点处,利用二阶中心差商得

到如下格式:

k1k

UJ2uj

2-

k1

Uj

kk

Uj12Ujh2

k

Uj1

oh2

略去误差项得到:

k1

Uj

其中j1,2丄9,k

对于初始条件

2k

rUJ1

1,2,L,199,局部截断误差为

ux,0sin

0

UJ

k

Uj

k

rUj

2o

k1

UJ

h2。

(3)

对于初始条件

-ux,0t

x,建立差分格式为:

sinxjsinJh,J

利用中心差商,建立差分格式为:

0,1,2,L10

(4)

对于边界条件

将差分格式延拓使

综上(3)、(4)、

k1

uj

其中r山o.1

1

UJ

2

1

Uj

0,即u1二Uj1,J0,1,2,L10

(5)

0,t0,2,建立差分格式为:

uN0,k0,1,L,200

k0为内点,代入(3)得到的式子再与(5)联立消去

1120’201

5ru,11ru,r

J2JJ2

(7)得到三层显格式如下:

u0,tu1,t

k

U0

(6)、

2k

rUj1

21r2

k2k

UjrUj1

k1・

Uj,J

Uj

(6)

1后整理得到:

0

Uj1

(7)

(局部截断误差为

1,2,L9,k1,2,L

199

h2)

1

Uj

0

Ujsin

120

2ruj1

k

Uo

Xj

k

UN

sin

20

rUj

0,k

0,1,2,L10

Jh,J

1

2r2u01,J1,2,L9

0,1L,200

(8)

四•实验环境(所用软件、硬件等)及实验数据文件

Matlab

 

三层显格式程序如下:

%一维波动方程,三层显格式求解法

h=0.1;tau=0.1*h;

r=tau/h;N=1/h;M=2/tau;

x=0:

h:

1;t=0:

tau:

2;

u=sin(pi*x);%计算t=0时刻的u值

u(1,11)=0;

forj=2:

N

u(2,j)=0.5*rA2*u(1,j+1)+(1-rA2)*u(1,j)+0.5*rA2*u(1,j-1);

end

%定义x=0边界上的数值

fork=1:

M+1

u(k,1)=0;

end

%定义x=1边界上的数值

fork=1:

M+1

u(k,N+1)=0;

end

%迭代计算开始,差分格式

fork=2:

M

forj=2:

N

u(k+1,j)=rA2*u(k,j+1)+2*(1-rA2)*u(k,j)+rA2*u(k,j-1)-u(k-1,j);

end

end

u(201,:

)=zeros(1,11);

%计算k=201行的数值解

u2(201,11)=0;

forj=2:

N

u2(201,j)=rA2*u(200,j+1)+2*(1-rA2)*u(200,j)+rA2*u(200,j-1)-u(199,j);

end

u=u+u2;

u=rot90(u,2);%将矩阵u旋转180度赋值于u

%作出图像

[x,t]=meshgrid(0:

0.1:

1,0:

0.01:

2);%划分网格

%作出数值解的函数图像

subplot(2,2,1);

mesh(x,t,u);

title('u(x,t)数值解的函数图像');

xlabel('x变量');

ylabel('t变量');

zlabel('u值');

%作出精确解的函数图像

subplot(2,2,2);

u1=cos(pi*t).*sin(pi*x);

mesh(x,t,u1);

title('u(x,t)精确解的函数图像');

xlabel('x变量');

ylabel('t变量');

zlabel('u值');

%作出t=0.5,1.0,1.5,2.0时刻的绝对误差图像

subplot(2,2,3);

wucha=abs(u-u1);

x=0:

h:

1;

plot(x,wucha(51,:

),'g*-');

holdon

gridon

plot(x,wucha(101,:

),'ro-');

holdon

plot(x,wucha(151,:

),'ks-');

holdon

plot(x,wucha(201,:

),'mp-');

title('t=0.5,1.0,1.5,2.0时刻的绝对误差函数图像');

xlabel('x变量');ylabel('绝对误差值');legend('t=0.5','t=1.0','t=1.5','t=2.0');

%作出t=0.5,1.0,1.5,2.0时刻的数值解函数图像

subplot(2,2,4);

x=0:

h:

1;

plot(x,u(51,:

),'g*-');

holdon

gridon

plot(x,u(101,:

),'ro-');

holdon

plot(x,u(151,:

),'ks-');holdonplot(x,u(201,:

),'mp-');

title('t=0.5,1.0,1.5,2.0时刻的数值解函数图像');

xlabel('x变量');ylabel('u值');legend('t=0.5','t=1.0','t=1.5','t=2.0');

%当然也可以作出u(x,t)绝对误差的函数图像

%mesh(x,t,wucha);

%title('u(x,t)绝对误差的函数图像');

%xlabel('x变量');

%ylabel('t变量');

%zlabel('绝对误差值');

五•实验结果及实例分析

1、u(x,t)在t=0.5,1.0,1.5,2.0

时刻的数值解、精确解以及绝对误差

)在t=0.5,1.0,1.5,2.0时刻的数值解

表1u(x,t

时刻t

t=0.5,1.0,1.5,2.0时刻的数值解

0

-0.005

-0.011

-0.015

-0.018

-0.019

-0.018

-0.015

-0.011

-0.005

0

t=0.5

9

3

5

2

2

2

5

3

9

0

-0.309

-0.587

-0.809

-0.951

-0.999

-0.951

-0.809

-0.587

-0.309

0

t=1.0

0

7

0

0

9

0

0

7

0

0

0

t=1.5

0.0020

0.0038

0.0052

0.0061

0.0064

0.0061

0.0052

0.0038

0.0020

0

0

t=2.0

0.3090

0.5878

0.8090

0.9511

1.0000

0.9511

0.8090

0.5878

0.3090

表2u(x,t)在t=0.5,1.0,1.5,2.0时刻的精确解

时刻t

t=0.5,1.0,1.5,2.0时刻的精确解

0

0

t=0.5

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

0

-0.309

-0.587

-0.809

-0.951

-1.000

-0.951

-0.809

-0.587

-0.309

0

t=1.0

0

8

0

1

0

1

0

8

0

0

0

t=1.5

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

t=2.0

0

0.3090

0.5878

0.8090

0.9511

1.0000

0.9511

0.8090

0.5878

0.3090

0

表3u(x,t)在t=0.5,1.0,1.5,2.0时刻的绝对误差

时刻t

t=0.5,1.0,1.5,2.0时刻的绝对误差

t=0.5

t=1.0

t=1.5

t=2.0

00

0.00590.01130.01550.01820.01920.01820.01550.01130.0059

00

0.00000.00000.00010.00010.00010.00010.00010.00000.0000

00

0.00200.00380.00520.00610.00640.00610.00520.00380.0020

00

0.00000.00000.00000.00000.00000.00000.00000.00000.0000

说明:

在t=0.5时刻的绝对误差最大,t=1.5时刻次之,t=1与t=2时刻的绝对误差均较小,由于r-0.11,该格式稳定,由数值计算得到的矩阵不难看出,数值解符合理论

h

解。

2、u(x,t)在t=0.5,1.0,1.5,2.0时刻的数值解、绝对误差函数图像

图1数值解、精确解以及绝对误差函数图像

说明:

上两图为函数的数值解与精确解,下两图为t=0.5,1.0,1.5,2.0时刻的数值解、绝

对误差函数图像,符合理论解。

教师签名

-可编辑修改-

THANKS!

!

!

致力为企业和个人提供合同协议,策划案计划书,学习课件等等

打造全网一站式需求

欢迎您的下载,资料仅供参考

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2