常微分实习报告常微分方程数值求解问题Word文档格式.docx

上传人:b****1 文档编号:5117263 上传时间:2023-05-04 格式:DOCX 页数:35 大小:230.69KB
下载 相关 举报
常微分实习报告常微分方程数值求解问题Word文档格式.docx_第1页
第1页 / 共35页
常微分实习报告常微分方程数值求解问题Word文档格式.docx_第2页
第2页 / 共35页
常微分实习报告常微分方程数值求解问题Word文档格式.docx_第3页
第3页 / 共35页
常微分实习报告常微分方程数值求解问题Word文档格式.docx_第4页
第4页 / 共35页
常微分实习报告常微分方程数值求解问题Word文档格式.docx_第5页
第5页 / 共35页
常微分实习报告常微分方程数值求解问题Word文档格式.docx_第6页
第6页 / 共35页
常微分实习报告常微分方程数值求解问题Word文档格式.docx_第7页
第7页 / 共35页
常微分实习报告常微分方程数值求解问题Word文档格式.docx_第8页
第8页 / 共35页
常微分实习报告常微分方程数值求解问题Word文档格式.docx_第9页
第9页 / 共35页
常微分实习报告常微分方程数值求解问题Word文档格式.docx_第10页
第10页 / 共35页
常微分实习报告常微分方程数值求解问题Word文档格式.docx_第11页
第11页 / 共35页
常微分实习报告常微分方程数值求解问题Word文档格式.docx_第12页
第12页 / 共35页
常微分实习报告常微分方程数值求解问题Word文档格式.docx_第13页
第13页 / 共35页
常微分实习报告常微分方程数值求解问题Word文档格式.docx_第14页
第14页 / 共35页
常微分实习报告常微分方程数值求解问题Word文档格式.docx_第15页
第15页 / 共35页
常微分实习报告常微分方程数值求解问题Word文档格式.docx_第16页
第16页 / 共35页
常微分实习报告常微分方程数值求解问题Word文档格式.docx_第17页
第17页 / 共35页
常微分实习报告常微分方程数值求解问题Word文档格式.docx_第18页
第18页 / 共35页
常微分实习报告常微分方程数值求解问题Word文档格式.docx_第19页
第19页 / 共35页
常微分实习报告常微分方程数值求解问题Word文档格式.docx_第20页
第20页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

常微分实习报告常微分方程数值求解问题Word文档格式.docx

《常微分实习报告常微分方程数值求解问题Word文档格式.docx》由会员分享,可在线阅读,更多相关《常微分实习报告常微分方程数值求解问题Word文档格式.docx(35页珍藏版)》请在冰点文库上搜索。

常微分实习报告常微分方程数值求解问题Word文档格式.docx

计算机、

MicrosoftWindows7

Matlab7.0

5.实习内容

5.1用欧拉方法,改进欧拉方法,4阶龙格—库塔方法分别求下面微分方程的初值dy/dx=y*cos(x+2)y(-2)=1x∈[-2,0]

5.1.1求精确解

①变量分离方程情形:

形如

的方程,这里

分别是

的连续函数.如果

我们可将方程改写成

这样,变量就”分离”开来了,两边同时积分即可:

为任意常数.

②常数变易法:

一阶线性微分方程

其中

在考虑区

间上是的连续函数.可先解出方程

的解,这是属于变量分

离方程情形,可解得:

这里

是任意常数.然后将变

易为

的待定函数

将其代入原方程可得:

所以可解得

这里

是任意常数.将

代入

可得原方程的通解:

③恰当微分方程情形:

的一阶微分方程,这里

假设

在某矩形域内是的连续函数,且具有连续的一阶偏导数.

则为恰当微分方程.判断为恰当微分方程后,则可用如下解法:

是原方程的解,则

,所以设

,所以

,由此

由此可解得

,所以原方程的通解为

为任意常数。

首先可以求得其精确解为:

y=exp(sin(x+2))

>

x=-2:

0.1:

2;

y=exp(sin(x+2))

plot(x,y,'

r.-'

);

Data=[x'

y'

]

y=

Columns1through4

1.000000000000001.104986830331691.219778556000621.34382524373165

Columns5through8

1.476121946445731.615146296442081.758818845766991.90449653438673

Columns9through12

2.049008650164272.188********4612.319776824715852.43807150515633

Columns13through16

2.539682532380782.621005926286702.679016447572712.71148101768216

Columns17through20

2.717123008431282.695718599203822.648113847390782.57616043684702

Columns21through24

2.482577728015002.370757126170312.244530580577552.10792744704554

Columns25through28

1.964942888556771.819336991081061.674477827371161.53323499677732

Columns29through32

1.397923819945001.270295218811561.151********4531.04245724559826

Columns33through36

0.943296953050410.854066948581020.774497302497390.70413637458179

Columns37through40

0.642415207750370.588701425856340.542342319593710.50269776253737

Column41

0.46916418587400

Data=

-2.000000000000001.00000000000000

-1.900000000000001.10498683033169

-1.800000000000001.21977855600062

-1.700000000000001.34382524373165

-1.600000000000001.47612194644573

-1.500000000000001.61514629644208

-1.400000000000001.75881884576699

-1.300000000000001.90449653438673

-1.200000000000002.04900865016427

-1.100000000000002.188********461

-1.000000000000002.31977682471585

-0.900000000000002.43807150515633

-0.800000000000002.53968253238078

-0.700000000000002.62100592628670

-0.600000000000002.67901644757271

-0.500000000000002.71148101768216

-0.400000000000002.71712300843128

-0.300000000000002.69571859920382

-0.200000000000002.64811384739078

-0.100000000000002.57616043684702

02.48257772801500

0.100000000000002.37075712617031

0.200000000000002.24453058057755

0.300000000000002.10792744704554

0.400000000000001.96494288855677

0.500000000000001.81933699108106

0.600000000000001.67447782737116

0.700000000000001.53323499677732

0.800000000000001.39792381994500

0.900000000000001.27029521881156

1.000000000000001.151********453

1.100000000000001.04245724559826

1.200000000000000.94329695305041

1.300000000000000.85406694858102

1.400000000000000.77449730249739

1.500000000000000.70413637458179

1.600000000000000.64241520775037

1.700000000000000.58870142585634

1.800000000000000.54234231959371

1.900000000000000.50269776253737

2.000000000000000.46916418587400

5.1.2用欧拉法求解

设常微分方程的初始问题

有唯一解。

则由欧拉法求初值问题

(1),

(2)的数值解的差分方程为:

程序如下:

建立函数文f1.m

function[x,y]=f1(fun,x_span,y0,h)

x=x_span

(1):

h:

x_span

(2);

y

(1)=y0;

forn=1:

length(x)-1

y(n+1)=y(n)+h*feval(fun,x(n),y(n));

end

x=x'

;

y=y'

在MATLAB输入以下程序:

clearall

fun=inline('

y*cos(x+2)'

[x,y1]=f1(fun,[-2,2],1,0.1);

[x,y1]

plot(x,y1,'

g*-'

结果及其图象:

ans=

-1.900000000000001.10000000000000

-1.800000000000001.20945045818058

-1.700000000000001.32798465534234

-1.600000000000001.45485187516708

-1.500000000000001.58885260659392

-1.400000000000001.72828754069001

-1.300000000000001.87092926670362

-1.200000000000002.01402582996363

-1.100000000000002.15434436081705

-1.000000000000002.28826055379421

-0.900000000000002.41189579915842

-0.800000000000002.52129845713651

-0.700000000000002.61265966186586

-0.600000000000002.68254800178024

-0.500000000000002.72814250373577

-0.400000000000002.74744062038227

-0.300000000000002.73941822501564

-0.200000000000002.70412232942903

-0.100000000000002.64268410367377

02.55724888375039

0.100000000000002.45082978042675

0.200000000000002.32710059365817

0.300000000000002.19015046372483

0.400000000000002.04422599002736

0.500000000000001.89348605020813

0.600000000000001.74179062418299

0.700000000000001.59253854452440

0.800000000000001.44856157120511

0.900000000000001.31207486378276

1.000000000000001.184********502

1.100000000000001.06739566199422

1.200000000000000.96074840947946

1.300000000000000.86483739767581

1.400000000000000.77943645422926

1.500000000000000.70408067871132

1.600000000000000.63814657271418

1.700000000000000.58092024172055

1.800000000000000.53165239417811

1.900000000000000.48960040640242

2.000000000000000.45405873128672

5.1.3用改进欧拉法求解:

计算公式为:

即先用欧拉法得

,进而由(3)的第一式得初始近似值

,然后再用(3)的第二式进行迭代,反复改进这个近似值,直到

为所允许的误差)为止,并把

取作为

的近似值

,这个方法就称为改进欧拉法。

通常称(3)为预报校正公式,其中第一式称为预报公式,第二式称为校正公式。

这个公式还可以写为:

(下文改进欧拉法计算就以下面为准)

建立函数文件f2.m

function[x,y]=f2(fun,x_span,y0,h)

length(x)-1

k1=feval(fun,x(n),y(n));

y(n+1)=y(n)+h*k1;

k2=feval(fun,x(n+1),y(n+1));

y(n+1)=y(n)+h*(k1+k2)/2;

y*cos(x+2)'

[x,y2]=f2(fun,[-2,2],1,0.1);

[x,y2]

plot(x,y2,'

b+-'

-1.900000000000001.10472522909029

-1.800000000000001.21920722936399

-1.700000000000001.34289777810139

-1.600000000000001.47479651303944

-1.500000000000001.61338861747877

-1.400000000000001.75660494566073

-1.300000000000001.90181495275894

-1.200000000000002.04586183721764

-1.100000000000002.185********243

-1.000000000000002.31576355572445

-0.900000000000002.43368296895904

-0.800000000000002.53497167173468

-0.700000000000002.61603367901013

-0.600000000000002.67384966784500

-0.500000000000002.70619076790723

-0.400000000000002.71178326404468

-0.300000000000002.69040521940878

-0.200000000000002.64290353044130

-0.100000000000002.57112934628408

02.47779956085378

0.100000000000002.36630057150132

0.200000000000002.24045633274254

0.300000000000002.10428512493058

0.400000000000001.96176831551518

0.500000000000001.81665028035196

0.600000000000001.67228260188095

0.700000000000001.53151888526290

0.800000000000001.39666016389536

0.900000000000001.26944574589307

1.000000000000001.151********251

1.100000000000001.04229147409852

1.200000000000000.94339433622144

1.300000000000000.85437588457241

1.400000000000000.77496982261477

1.500000000000000.70472971912662

1.600000000000000.64309273433755

1.700000000000000.58943293626443

1.800000000000000.54310392687123

1.900000000000000.50347143064050

2.000000000000000.46993706594350

5.1.4用4阶龙格—库塔求解

标准的四阶龙格-库塔公式(亦称为经典的四阶龙格-库塔公式):

公式的截断误差阶为

建立函数文件f3.m

function[x,y]=f3(fun,x_span,y0,h)

x=x_span

(1):

k2=feval(fun,x(n)+h/2,y(n)+h/2*k1);

k3=feval(fun,x(n)+h/2,y(n)+h/2*k2);

k4=feval(fun,x(n+1),y(n)+h*k3);

y(n+1)=y(n)+h*(k1+2*k2+2*k3+k4)/6;

clearall;

[x,y3]=f3(fun,[-2,2],1,0.1);

[x,y3]

plot(x,y3,'

y*-'

-1.900000000000001.10498674569681

-1.800000000000001.21977837351828

-1.700000000000001.34382495362539

-1.600000000000001.47612154334742

-1.500000000000001.61514577980337

-1.400000000000001.75881821961767

-1.300000000000001.90449580650198

-1.200000000000002.04900783085566

-1.100000000000002.188********744

-1.000000000000002.31977585752433

-0.900000000000002.43807048140885

-0.800000000000002.53968146311619

-0.700000000000002.62100482231058

-0.600000000000002.67901531971109

-0.500000000000002.71147987684658

-0.400000000000002.71712186540483

-0.300000000000002.69571746425094

-0.200000000000002.64811272993642

-0.100000000000002.57615934548225

02.48257667095154

0.100000000000002.37075611204203

0.200000000000002.24452961927934

0.300000000000002.10792655020966

0.400000000000001.96494206934318

0.500000000000001.81933626317413

0.600000000000001.67447720334541

0.700000000000001.53323448621294

0.800000000000001.39792342776452

0.900000000000001.27029494424773

1.000000000000001.151********231

1.100000000000001.04245718123925

1.200000000000000.94329697235934

1.300000000000000.85406703400224

1.400000000000000.77449743625256

1.500000000000000.70413654020399

1.600000000000000.64241539118308

1.700000000000000.58870161605161

1.800000000000000.54234250864301

1.900000000000000.50269794543536

2.000000000000000.46916436004503

5.1.5问题讨论与分析

由以上数值分析结果绘制表格:

精确解

欧拉方法

改进的欧拉方法

四阶龙格-库塔方法

xi

yi

误差

-2.00

1.000000

0.000000

-1.90

1.104987

1.100000

0.004987

1.104725

0.000262

-1.80

1.219779

1.209450

0.010328

1.219207

0.000571

1.219778

-1.70

1.343825

1.327985

0.015841

1.342898

0.000927

1.34

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

当前位置:首页 > PPT模板 > 商务科技

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

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