- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SYSU-IFCEN 2013-2014 实验报告 Projet professionnel
Vincent. Wang [PAGE 22] équipe de Neutrons Dosimétrie
解常微分方程
姓名:Vincent
年级:2010,学号:1033****,组号:5(小组),4(大组)
数值方法:
我们的实验目标是解常微分方程,其中包括几类问题。一阶常微分初值问题,高阶常微分初值问题,常微分方程组初值问题,二阶常微分方程边值问题,二阶线性常微分方程边值问题。
对待上面的几类问题,我们分别使用不同的方法。
初值问题
使用 龙格-库塔 来处理
边值问题
用打靶法来处理
线性边值问题
有限差分法
初值问题
我们分别使用
二阶 龙格-库塔 方法
4阶 龙格-库塔 方法
来处理一阶常微分方程。
理论如下:
对于这样一个方程
当h很小时,我们用泰勒展开,
当我们选择正确的参数 a[i][j],b[i][j]之后,就可以近似认为这就是泰勒展开。
对于二阶,我们有:
其中
经过前人的计算机经验,我们有,
选择 A=1/2,B=1/2,则 P=1,Q=1,于是又如下形式,这也使休恩方法的表达式。
所以我们称其为 龙格(库塔)休恩方法
对于4阶龙格方法,我们有类似的想法,
我们使用前人经验的出的系数,有如下公式
对于高阶微分方程及微分方程组
我们用
4阶龙格-库塔方法来解
对于一个如下的微分方程组
我们可以认为是一个一阶向量微分方程,所以可以用龙格-库塔方法的向量形式解。
对于一个高阶的微分方程,形式如下:
我们可以构建出一个一阶的微分方程组,
令
则有
所以我们实际只要解一个微分方程组
其中初值为
使用4阶龙格-库塔方法,
使用这个向量形式的龙格-库塔方法我们便可就出方程的数值解。
边值问题
对于边值问题,我们分为两类
一般的边值问题
线性边值微分方程
一般的边值问题,我们是使用打靶法来求解,
对于这样一个方程
主要思路是,化成初值问题来求解。
我们已有
这样我们便可求出方程的解。
线性微分方程边值问题
对于这样的问题,我们可以使用一个更加高效的方法,有限差分法。
对于如下方程
我们对其进行差分
这样的话,我们的微分方程可以写成,
于是我们得到了个线性方程组
这样的话我们求解出x
对于上面的矩阵,我们可以分解出两个三角阵,然后回代求解便可。
我们用回代法可以直接求解
至此,我们便求出了目标方程的解
流程图
二阶龙格-库塔
对于i = 0到M-1;
y[i+1] = y[i] + h / 2 * (fun(t, y[i]) + fun(t + h, y[i] + h*fun(t, y[i])));
return y;
4阶龙格-库塔
对于i = 0到M-1;
y[i + 1] = y[i] + h / 6 * (fun(t, y[i]) + 2 * fun(t + h / 2, y[i] + h / 2 * fun(t, y[i])) + 2 * fun(t + h / 2, y[i] + h / 2 * fun(t + h / 2, y[i] + h / 2 * fun(t, y[i]))) +fun(t + h, y[i]+h*fun(t + h / 2, y[i] + h / 2 * fun(t + h / 2, y[i] + h / 2 *fun(t, y[i])))));
return y;
4阶龙格-库塔解方程组
对于k= 0到M-1;
对于i= 0到N;
fun(t, y[k], dy[0])
对于i= 0到N;
tempdy[j] = y[k][j] + h / 2 * dy[0][j];
fun(t + h / 2, tempdy, dy[1]);
对于i= 0到N;
tempdy[j] = y[k][j] + h / 2 * dy[1][j];
fun(t + h / 2, tempdy, dy[2]);
对于i= 0到N;
tempdy[j] = y[k][j] + h * dy[2][j];
fun(t + h, tempdy, dy[3]);
y[k+1][i] = y[k][i] + h / 6 * (dy[0][i] + 2 * dy[1][i] + 2 * dy[2][i] + dy[3][i]);
return y;
打靶法
当errepsilon
y = RKSystem4th( fun, 2, t0, u, tn, M);
f0 = y[M-1][0] - b;
u[1] = y[0][1];
y = RKSystem4th( fun, 2, t0, v,
您可能关注的文档
最近下载
- 辽宁大学2023-2024学年第1学期《高等数学(上)》期末考试试卷(A卷)附参考答案.pdf
- DB4113T037-2023 《金鱼养殖技术规范》.pdf VIP
- 2024-2025学年北京顺义区八年级初二(上)期末英语 试卷(含答案).pdf
- DG_TJ08-2062-2025 住宅工程套内质量验收标准.pdf VIP
- 基于激光散斑图像共生纹理特征的表面粗糙度测量:理论、方法与实践.docx VIP
- 调味品采购验收标准及流程规范.docx VIP
- 非ST段抬高型急性冠状动脉综合征诊断和治疗指南(2016年).pdf VIP
- 虚拟数字人在艺术展演中的应用与互动式观演体验升级研究毕业答辩汇报.pptx VIP
- 《营养烹饪技术》高职医学营养专业全套教学课件.pptx
- 公司管理制度-关联交易管理办法.docx VIP
原创力文档


文档评论(0)