6.7常微分方程数值解及其实验.pptVIP

  • 7
  • 0
  • 约小于1千字
  • 约 9页
  • 2016-11-05 发布于安徽
  • 举报
上机实验4-5:习题6:5,8 * * 常微分方程的数值解及实验 (一)常微分方程数值解的定义 1.解析解与数值解 2.数值解的意义 (二)建立数值解法的一些途径 1。用差商代替导数 若步长h较小,则有 故有公式: 此即欧拉法(向前欧拉法)。 2。使用数值积分 对方程y’=f(x,y), 两边由xi到xi+1积分,并利用梯形公式,有: 实际应用时,与欧拉公式结合使用: 此即改进的欧拉法。 故有公式: 3。使用泰勒公式 以此方法为基础,有龙格-库塔法、线性多步法等方法。 4。数值公式的精度 当一个数值公式的截断误差可表示为O(hk+1)时(k为正整数,h为步长),称它是一个k阶公式。 k越大,则数值公式的精度越高。 欧拉法是一阶公式,改进的欧拉法是二阶公式。 龙格-库塔法有二阶公式和四阶公式。 线性多步法有四阶阿达姆斯外插公式和内插公式。 (三)用Matlab软件求常微分方程的数值解 [t,x]=solver(’f’,ts,x0,options) ode45 ode23 ode113ode15sode23s 由待解方程写成的m-文件名 ts=[t0,tf],t0、tf为自变量的初值和终值 函数的初值 ode23:3 级 2 阶龙格-库塔-芬尔格算法 ode45:5 级 4 阶龙格-库塔-芬尔格算法 自变量值 函数值 用于设定误差限(缺省时设定相对误差10-3, 绝对误差10-6), 命令为:options=odeset(’reltol’,rt,’abstol’,at), rt,at:分别为设定的相对误差和绝对误差. 1、在解n个未知函数的方程组时,x0和x均为n维向量,m-文件中的待解方程组应以x的分量形式写成. 2、使用Matlab软件求数值解时,高阶微分方程必须等价地变换成一阶微分方程组. 注意: 解: 令 y1=x,y2=y1’ 1、建立m-文件vdp.m如下: function dy=vdp(t,y) dy=zeros(2,1); dy(1)=y(2); dy(2)=(1-y(1)^2)*y(2)-y(1); 例 则微分方程变为一阶微分方程组: *

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档