第5次实验报告常微分方程初值问题的数值解法.docVIP

  • 5
  • 0
  • 约 4页
  • 2017-09-02 发布于浙江
  • 举报

第5次实验报告常微分方程初值问题的数值解法.doc

第5次实验报告常微分方程初值问题的数值解法

班级: 学号: 姓名: 成绩: 实验5 常微分方程初值问题的数值解法实验 1实验目的 2 实验内容 (1)编写程序,用以上各种方法求解教材P232例7-1、习题6、11的初值问题。 (2) 使用系统自带的函数dsolve和ode45求例7-1的符号解析解和数值解。 3实验原理 求解微分方程初值问题 欧拉法(显式): 改进欧拉法 经典龙格-库塔法(四阶) 4实验步骤 欧拉法 改进欧拉法 function Euler1(x0,y0,h,n) %(x0,y0):方程的初值 %h:步长 %n:计算的步数 for i=1:n x=x0+h; yp=y0+h*f(x0,y0); yc=y0+h*f(x,yp); y=(yp+yc)/2; x %在屏幕显示每一步的x值 y %在屏幕显示每一步计算的方程的数值解 x0=x; y0=y; end 经典龙格-库塔法 函数 function f=f(x,y) f=y-2*x/y; end 6总结File - Preferences -Array Editor窗口中,Format 下方将Default array format设置为:long 解微分方程的MATLAB命令 MATLAB中主要用dsolve求微分方程的符号解析解,ode45求数值解。 ? s=dsolve(‘方程1’, ‘方程2’,…,’初始条件1’,’初始条件2’ …,’自变量’)? 用字符串方程表示,自变量缺省值为t。导数用D表示,2阶导数用D2表示,以此类推。 [tout,yout]=ode45(‘yprime’,[t0,tf],y0) 采用变步长四阶Runge-Kutta法和五阶Runge-Kutta-Felhberg法求数值解。 yprime是用以表示f(t,y)的M文件名,t0表示自变量的初始值,tf表示自变量的终值,y0表示初始向量值。 输出向量tout表示节点(t0,t1, …,tn)T,输出矩阵yout表示数值解,每一列对应y的一个分量。若无输出参数,则自动作出图形。 ode45是最常用的求解微分方程数值解的命令。可以用help dsolve, help ode45查阅有关这些命令的详细信息. 数值计算方法Matlab实验报告

文档评论(0)

1亿VIP精品文档

相关文档