微分方程数值解法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微分方程数值解法

课程设计报告

班级: ___________

姓名: ___________

学号: ____________

成绩:_______________

二零一七年6月 22 日

目录

第一题常微分方程数值解-----------------------------------

1.1 实验目的----------------------------------------------------

1.2 实验原理----------------------------------------------------

1.3 用matlab编写源程序----------------------------------------

1.4 数值解及其误差举例------------------------------------------

1.5 运行结果及其截图 -------------------------------------------------------------------

1.6实验总结----------------------------------------------------- 第二章常系数扩散方程的经典差分格式----------------------------

2.1 实验目的---------------------------------------------------

2.2 实验原理---------------------------------------------------

2.3 用matlab编写源程序----------------------------------------

2.4 数值解及其误差举例------------------------------------------

2.5 运行结果及其截图------------------------------------------- 2.6实验总结----------------------------------------------------- 第三章常系数扩散方程的经典差分格式---------------------------

3.1 实验目的---------------------------------------------------

3.2 实验原理----------------------------------------------------

3.3 用matlab编写源程序-----------------------------------------

3.4 数值解及其误差举例------------------------------------------

2.5 运行结果及其截图-------------------------------------------- 2.6实验总结-----------------------------------------------------

参考文献--------------------------------------------------

设计一:常微分方程数值解

1.1:实验目的

用显式单步法:4阶龙格库塔法和显式Adams 计算洛伦兹方程并比较计算结果,初始值取(5,5,10)。

1.2:实验原理

洛伦兹方程是一组典型的非线性方程,来源于大气物理研究。在一定的参数下,方程的解表现出了非常复杂而又有趣的现象。本专题要求采用数值积分的方法,求解如下洛伦兹方程:

)(x y dt dx -==σ

y z x dt dy --=)(ρ

z xy dt dy β-= 其中,取283810===ρβσ,,。

t 为从0开始的时间变量,积分初值

{})0(),0(),0(z y x 为任意

的不全为零的数值即可。

实验内容和步骤:

用matlab 实现4阶龙格库塔法和Adams 外插法,代入初始值并得到结果。

1.3:实验过程

四阶龙格库塔法matlab实现源程序:

m文件:

function [x,y,z]= luc(x1,y1,z1,h)%参数含义 x1,y1,z1是初始值,h是步长kfx=0;ksx=0;ktx=0;kfhx=0; %k1,k2,k3,k4的三个分量形式的初始化

kfy=0;ksy=0;kty=0;kfhy=0;

kfz=0;ksz=0;ktz=0;kfhz=0;

x0=x1;y0=y1;z0=z1;

kfx=10*(y0-x0); %求k1x

kfy=x0*(28-z0)-y0; %求k1y;

kfz=x0*y0-8/3*z0; %求k1z;

x0=x1+1/2*h*kfx; %变量替换

y0=y1+1/2*h*kfy;

z0=z1+1/2*h*kfz;

ksx=10*(y0-x0); %求k2x;

ksy=x0*(28-z0)-y0; %求k2y;

ksz=x0*y0-8/3*z0; %求k2z;

x0=x1+1/2*h*ksx;

y0=y1+1/2*h*ksy;

z0=z1+1/2*h*ksz;

ktx=10*(y0-x0); %求k3x;

kty=x0*(28-z0)-y0; %求k3y;

ktz=x0*y0-8/3*z0; %求k3y;

x0=x1+1/2*h*ktx;

y0=y1+1/2*h*kty;

z0=z1+1/2*h*ktz;

kfhx=10*(y0-x0); %求k4x;

kfhy=x0*(28-z0)-y0;%求k4y;

kfhz=x0*y0-8/3*z0; %求k4z;

x=x1+h/6*(kfx+2*ksx+2*ktx+kfhx);%求u(n+1)x分量的值

y=y1+h/6*(kfy+2*ksy+2*kty+kfhy);%求u(n+1)y分量的值

z=z1+h/6*(kfz+2*ksz+2*ktz+kfhz);%求u(n+1)z分量的值

End

%执行语句:

a=1:1:3000;b=1:1:3000;c=1:1:3000;

x1=5;y1=5;z1=10;

for i=1:1:3000;

[x,y,z]=luc(x1,y1,z1,0.01);

相关文档
最新文档