matlab求方程根中Euler折线法求解方程

《第五章:常微分方程数值解法第一节欧拉法》由会员分享,可在线阅读,更多相关《第五章:常微分方程数值解法第一节欧拉法(32页珍藏版)》请在人人文库网上搜索。

无关的常数 L 使 对任意定义在 a, b y1(x) 和 y2(x) 都成立,则上述IVP存在唯一解,解析解法:(常微分方程理论) 只能求解极少一类常微分方程;实际中给定的问题不一定是解析表达式,而是函数表,无法用

2、解析解法,如何求解,步进式:根据已知的或已求出的节点上的函数值计算当前节点上的函数值,一步一步向前推进。因此只需建立由已知的或已求出的节点上的函数值求当前节点函数值的递推公式即可,Eulers Method,1 欧拉方法 /* Eulers Method *,1 Eulers Method,Taylor展开法,几何意义,亦称为欧拉折线法 /* Eulers polygonal arc method*,几何直观是帮助我们寻找解决一个问题的思路的好办法哦,说明,1 Eulers Method,截断误差: 实际上,y(xn) yn, yn 也有误差,它对yn+1的误差也有影响,见下图。但这里不考虑此

3、误差的影响,仅考虑方法或公式本身带来的误差,因此称为方法误差或截断误差。 局部截断误差的分析:由于假设yn = y(xn) ,即yn准确,因此分析局部截断误差时将y(xn+1) 和 yn+1都用点xn上的信息来表示,工具:Taylor展开,欧拉法的局部截断误差,Rn+1 的主项 /* leading term *,1 Eulers Method,欧拉法具有 1 阶精度,在xn点用一阶向前差商近似一阶导数,在第2章讨论牛顿插值公式时 介绍了差商的概念和性质, 各阶差商可以近似各阶导数,具有不同的精度, 且可以用函数值来表示。 上一章中数值微分的方法之一 就是用差商近似导数,Eulers meth

欧拉公式。隐式公式不能直接求解,一般需要用Euler显式公式得到初值,然后用Euler隐式公式迭代求解。因此隐式公式较显式公式计算复杂,但稳定性好,收敛性,1 Eulers Method,见上图, 显然,这种近似也有一定误差,

*,显、隐式两种算法的平均,注:的确有局部截断误差 , 即梯形公式具有2 阶精度,比欧拉方法有了进步。但注意到该公式是隐式公式,计算时不得不用到迭代法,其迭代收敛性与欧拉公式相似,梯形法的迭代计算和收敛性,收敛性,1 Eulers M

7、ethod,梯形法的简化计算 迭代计算量大,且难以预测迭代次数。为了控制计算量,通常只迭代一次就转入下一点的计算。用显式公式作预测,梯形公式作校正,得到如下预测校正系统,也称为改进尤拉法,改进欧拉法 /* modified Eulers method *,1 Eulers Method,注:此法亦称为预测-校正法 /* predictor-corrector method */。可以证明该算法具有 2 阶精度,同时可以看到它是个单步递推格式,比隐式公式的迭代求解过程简单。后面将看到,它的稳定性高于显式欧拉法,1 Eulers Method,其它形式,1 Eulers Method,令x=x1,

分别用显式Euler方法,梯形方法和预估校正Euler方法解初值问题,解,取 h =0.1,梯形方法为,预估校正Eu

}

[版权声明] 本站所有资料由用户提供并上传,若内容存在侵权,请联系邮箱。资料中的图片、字体、音乐等需版权方额外授权,请谨慎使用。网站中党政主题相关内容(国旗、国徽、党徽)仅限个人学习分享使用,禁止广告使用和商用。

}

第四讲Matlab求解微分方程(组)

理论介绍:Matlab求解微分方程(组)命令

求解实例:Matlab求解微分方程(组)实例

实际应用问题通过数学建模所归纳得到得方程,绝大多数都就是微分方程,真正能得到代数方程得机会很少、另一方面,能够求解得微分方程也就是十分有限得,特别就是高阶方程与偏微分方程(组)、这就要求我们必须研究微分方程(组)得解法:解析解法与数值解法、

一.相关函数、命令及简介

1、在Matlab中,用大写字母D表示导数,Dy表示y关于自变量得一阶导数,D2y 表示y关于自变量得二阶导数,依此类推、函数dsolve用来解决常微分方程(组)得求解问题,调用格式为:

函数dsolve用来解符号常微分方程、方程组,如果没有初始条件,则求出通解,如果有初始条件,则求出特解、

注意,系统缺省得自变量为t

2、函数dsolve求解得就是常微分方程得精确解法,也称为常微分方程得符号解、但就是,有大量得常微分方程虽然从理论上讲,其解就是存在得,但我们却无法求出其解析解,此时,我们需要寻求方程得数值解,在求常微分方程数值解方

面,MATLAB具有丰富得函数,我们将其统称为solver,其一般格式为:

(2)odefun就是显示微分方程在积分区间tspan上从到用初始条件求解、

(3)如果要获得微分方程问题在其她指定时间点上得解,则令tspan(要求就是单调得)、

(4)因为没有一种算法可以有效得解决所有得ODE问题,为此,Matlab提供了多种求解器solver,对于不同得ODE问题,采用不同得solver、

表1 Matlab中文本文件读写函数

}

我要回帖

更多关于 matlab求方程根 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信