- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《计算机数值方法》
课程设计报告
题目 四阶Runge-Kutta方法 学生姓名 班级 成绩 指导教师 年月日
的数值解,并利用最后绘制的图形直观分析近似解与准确解之间的比较。
三、方法原理及实现
龙格-库塔(Runge-Kutta)方法是一种在工程上应用广泛的高精度单步算法。由于此算法精度高,采取措施对误差进行抑制,所以其实现原理也较复杂。该算法是构建在数学支持的基础之上的。龙格库塔方法的理论基础来源于泰勒公式和使用斜率近似表达微分,它在积分区间多预计算出几个点的斜率,然后进行加权平均,用做下一点的依据,从而构造出了精度更高的数值积分计算方法。如果预先求两个点的斜率就是二阶龙格库塔法,如果预先取四个点就是四阶龙格库塔法。
经典的方法是一个四阶的方法,它的计算公式是:
四、计算公式或算法
输入(编写或调用计算的函数文件),
3.For
End
4.输出
五、Matlab 程序
x=[a:h:b];
y(1)=y1;
n=(b-a)/h+1;
for i=2:n
fk1=f(x(i-1),y(i-1));
fk2=f(x(i-1)+h/2,y(i-1)+fk1*h/2);
fk3=f(x(i-1)+h/2,y(i-1)+fk2*h/2);
fk4=f(x(i-1)+h,y(i-1)+fk3*h);
y(i)=y(i-1)+h*(fk1+2*fk2+2*fk3+fk4)/6;
end
y
六、测试数据及结果
用调试好的程序解决如下问题:
应用经典的四阶Runge-Kutta方法解初值问题
取
步骤一:编写函数具体程序.
1.求解解析解程序:
dsolve(Dy=(y^2+y)/t,y(1)=-2,t)
结果:
2.综合编写程序如下:
a=1;
b=3;
h=0.5;
y(1)=-2;
x(1)=a;
n=(b-a)/h+1;
yy(1)=-2;
for i=2:n
k1=(y(i-1)^2+y(i-1))/x(i-1);
k2=((y(i-1)+h*k1/2)^2+(y(i-1)+h*k1/2))/(x(i-1)+h/2);
k3=((y(i-1)+h*k2/2)^2+(y(i-1)+h*k2/2))/(x(i-1)+h/2);
k4=((y(i-1)+h*k3)^2+(y(i-1)+h*k3))/(x(i-1)+h);
y(i)=y(i-1)+h*(k1+2*k2+2*k3+k4)/6; % 四阶Runge-Kutta公式解
x(i)=x(i-1)+h; %有解区间的值
yy(i)=-x(i)/(x(i)-1/2); %解析解
s(i)=abs(y(i)-yy(i)); %误差项
end
[x y yy s]
(2)步骤二:执行上述Runge-Kutta算法,计算结果为
1.0000 1.5000 2.0000 2.5000 3.0000 -2.0000 -1.4954 -1.3306 -1.2480 -1.1985 -2.0000 -1.5000 -1.3333 -1.2500 -1.2000 0 0.0046 0.0028 0.0020 0.0015
(3)使用Matlab绘图函数“plot(x,y)”绘制问题数值解和解析解的图形。
数值解的图形:
plot(x,y)
解析解的图形
plot(x,yy)
(4)使用Matlab中的ode45求解,并绘图。
编写函数如下:
%ode.m
function dy=ode(x,y)
dy=(y^2+y)/x;
T,Y]=ode45(ode,[1 3],-2);
plot(T,Y)
运行结果如下:
结果分析
由图可知此方法与精确解的契合度非常好,基本上与精度解保持一致,由此可见四阶Runge-Kutta方法是一种高精度的单步方法。
方法改进
同时,由于误差的存在,我们总想尽可能的是误差趋近于零,常用的就是传统的增加取值的个数。最后,我们通过改变步长来进行改进。
具体实现:
(1)h=0.1
a=1;
b=3;
h=0.1;
y(1)=-2;
x(1)=a;
n=(b-a)/h+1;
yy(1)=-2;
for i=2:n
k1=(y(i-1)^2+y(i-1))/x(i-1);
k2=((y(i-1)+h*k1/2)^2+(y(i-1)+h*k1/2))/(x(i-1)+h/2);
k3=((y(i-1)+h*k2/2)^2+(y(i-1)+h*k2/2))/(
您可能关注的文档
- 国培个人学习情况小结.doc
- 2014高中考试历史考前练习大闯关1.doc
- 语文:第三专题《笔落惊风雨》综合测试(苏教版必修4).doc
- 国外著名小企业比较-doc.doc
- 2014高中考试祝福语经典版.doc
- 国家5A级旅游景区创建评定基本程序.doc
- 语法专题16介词.doc
- 2014高中考试语文考纲剖析.doc
- 语法和语法应用训练题(一题多变.doc
- 语法填空模拟题.doc
- 剧本杀行业报告:内容创作规范与剧本市场拓展策略.docx
- 剧本杀行业区域市场区域文化特色与市场潜力分析报告.docx
- 剧本杀行业区域市场拓展实战案例研究.docx
- 剧本杀行业区域市场拓展路径与模式探索报告.docx
- 剧本杀行业区域市场竞争态势与品牌差异化策略研究报告.docx
- 剧本杀行业2025年西北区域市场市场细分领域竞争态势与品牌竞争策略分析研究报告.docx
- 剧本杀行业2025年西北市场拓展前景预测报告.docx
- 剧本杀行业2025年长沙市场发展潜力分析报告.docx
- 剧本杀行业2025年长三角市场竞争策略与布局分析.docx
- 医疗行业数据合规:2025年数据安全法实施后的合规监管挑战与应对.docx
最近下载
- 手术室人员行为管理与规范.pptx VIP
- 2025年呼和浩特市土默特左旗社区工作者招聘考试试题 .pdf VIP
- 卫生院优质服务基层行创建资料(1.1.2主要任务).docx VIP
- 2025年教职工疗休养服务项目212页.docx VIP
- 2025年内蒙古自治区中考语文试题卷(含答案解析).docx
- 中学生英才计划面试常见问题.docx VIP
- 社会组织矛盾纠纷排查化解工作总结.pptx VIP
- 近十年管综数学真题.pdf VIP
- 13、安放式支管台组对焊接.pptx VIP
- SIEMENS西门子 SIMATIC ET 200SP 电机启动器 (3RK1308‑0..00‑0CP0)设备手册.pdf VIP
文档评论(0)