- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
wd
wd
数学与计算科学学院
实验报告
实验项目名称Eular方法求解一阶常微分方程数值解
所属课程名称 偏微分方程数值解
实验类型 验证性
实验日期 2015?3?26
班 级
学 号
姓 名
成 绩
一、实验概述:
【实验目的】
熟练掌握应用显性Eular法和隐式Eular法求解一般一阶常微分方程的近似数值 解。
【实验原理】
虽然求解常微分方程有各种各样的解析方法,但解析方法只能用来求解一些特 殊类型的方程。求解从实际问题当中归结出来的微分方程主要幕数值解法。欧拉方 法是一类重要的数值解法。这类方法回避解y(x)的函数表达式,而是寻求它在一系列 离散节点上的近似值,相邻的两个节点的间距称作步长。假定步长为定数。
欧拉方法是一类离散化方法,这类方法将寻求解y(x)的分析问题转化为计算离散 值值的代数问题,从而使问题获得了实质性的简化。然而随之带来的困难是,山于 数据量往往很大,差分方法所归结出的可能是个大规模的代数方程组。
【实验环境】
1.硬件环境
通 談筑E用
处理器:安装内存(RAM):笔和换Intel(R) Core(TM) ;3-3110M CPU @ 2.40GHz 2.40 GHz 4.00 GB (3.85 GB 可用)
处理器:
安装内存(RAM):
笔和换
64踱作談
没有可用于此显示器迪笔耳
2.2.软件环境
Windows 版本
Windows 7 BSKr
版权所有◎ 2009 Microsoft Corporation,,煤留所有权利。
Service Pack 1
MATLAB7.0
二、实验内容:
【实验过程】(实验步骤)
(一) 实验任务
描述某种化学反应过程的方程,利用显性和隐形Eualar方法求解下列一阶线性 微分方程组的近似数值解:
% = -0?04”+10\卩2 吆=0.04必+104加2—3x107 衣 必3x10喝
71(0) = l,y2(0) = 0,y3(0) = 0
(二) 求解过程
Eular方法:
一阶线性微分方程初值问题
y = f^y),axb
M)= o
TOC \o 1-5 \h \z a = xQ Xj .... xn =h (1 )
如=Xo+nh、h为步长
方程离散化:差分和差商
%厂兀( h
II
”=儿 + (勺,儿) (2)
儿+严儿+〃(勺,〉0)
通过初始值y0,依据递推公式(2)逐步算出”,儿,????,儿就为显性的Eular方法。
隐形Eular方法:
e严儿+财(心儿) (3)
.儿+严儿+妙(兀+i,儿+J
公式(3)即为隐式Eular公式。
(三)程序算法
1.利用显式Eular法方求解
利用MATLAB进行求解,编写脚本文件如下:
文件名:hql.m
%显性Eular方法
fO=1; gO =0;z0=0
delta=0.01;
time=1;
t=O:delta:time;
f=zeros(size(t));
g=zeros(size(t));
z=zeros(size(t));
f1=zeros(size(t));
g1=zeros(size(t));
zl=zeros(size(t));
f(l)=fO;
g(l)=gO;
z(1)=z0;
for i=2:length(t)
fl(i-l) = -0.04*f(i-1) + 1OOOO*f(i-1)*g(i-1); f(i)=f(i-1)+f1(i-1)*delta;
gl(i-1) = 0.04*f(i-1) - 10000*f(i-1)*g(i-1)-3*10A7*g(i-1)A2; g(i)=g(i-1 )+g1(i-1 )*delta;
z1(i-1)=3*10A7*g(i-1)A2;
z(i)=z(i-1 )+z(i-1)*delta;
Fun=f+g+z
end
figure plot(t,f,o); xlabelft);
ylabel(yl);
titleft-yl 变化图*)
figure
plot(t,g,oj;
xlabelft1);
ylabelfyZ1);
title(t-y2 变化图)
figure
plot(t,z,o);
xlabelft);
title(t-y3 变化图)
figure
plot(t,Fun);
xlabelft);
ylabelfy1+y2+y3);
titleft-y1+y2+y3 变化图)
【实验结论】
A步长h=0.001时进行数据测试。结果如下:
迭代第一次时,
0 0 0
结果与方程描述内容相符。
迭代第二次时,
1 through 11
1.0000 1.0000
0.9959
结果与方程描述内容基本相符。
迭代三次时,
Fun =
Coliunns 1 through 11
0.98
原创力文档


文档评论(0)