第十章 常微分方程(组)求解
课程设计-常微分方程的求解

常微分方程的求解问题摘要题目中显然涉及到求解数值积分和求解常微分方程问题.首先,需要对常微分方程中的数值积分进行求解.回顾所学过的求解数值积分的方法,有Newton-Cotes公式、复化求积公式、Romberg算法和Gauss-Legender公式等,我们选择其中的一种方法来进行求解.在求解时,选择了包含在Newton-Cotes公式中的梯形公式进行了求解.然后,将积分求解的结果代入原方程中,进一步再求解常微分方程.回顾所学过的求解常微分方程的方法,有Euler格式、后退的Euler格式、梯形格式、改进的Euler格式、Euler两步格式、Runge-Kutta方法、Taylor级数法等,我们选择其中的一种方法进行求解.在求解时,选择了四阶Runge-Kutta方法进行了求解.最后,应用MATLAB软件进行了求解计算了t=1,2,..,10时的值,并对模型进行了优缺点分析及模型的推广.关键词:数值积分;常微分方程;Newton-Cotes公式;Runge-Kutta方法;MATLAB软件THE SOLUTION OF ORDINRY DIFFERENTIAL EQUATIONSABSTRACTProblems in apparently involves numerical integration and solving problems in ordinary differential equations.First of all, we need to give the solution of ordinary differential equations. Take a review of the numerical integration method, a Newton-Cotes formula, complex formula, Romberg algorithm and Gauss-Legender formula, we choose one of the methods to solve the problem. In this method, we choose the Newton-Cotes formula which includes the trapezoid formula to get the solution.Then, the integral solution should be used in the original equation, and then get the solution of ordinary differential equation. Take a review of what has been learned for solving ordinary differential equation method, are Euler format, Euler format, the format back trapezoid, improved Euler format, Euler two, Runge-Kutta method, Taylor format series method, we choose one of the methods to solve the equation. In the solution, we choose four order Runge-Kutta method to solve.Finally, we use the MATLAB software to get the solution, and analyze the advantages and the disadvantage of the model and give a promotion of the model.Key words: Numerical integration of ordinary differential equations; formula;Newton-Cotes; Runge-Kutta method;MATLAB目录1 问题的提出 (1)2 问题的分析 (1)3 问题假设 (1)4 符号说明 (2)5 模型的建立 (2)5.1 模型的准备工作 (2)5.2 建立模型 (5)6 模型求解 (6)6.1 MATLAB软件求解结果 (7)7 模型验证及结果分析 (7)7.1 模型验证 (7)7.2 结果分析 (7)8 模型的优缺点 (8)8.1 模型的优点 (8)8.2 模型的缺点 (8)9 模型的推广 (8)参考文献 (9)附录 (10)腹有诗书气自华1 问题提出用数值分析中求解常微分方程的知识,求解下列方程:'20()()ty t ay b y s ds =+⎰ (05t ≤≤ )其中 0,0a b >< 初值为(0)1y = .2 问题分析从方程'20()()ty t ay by s ds =+⎰中可以看到,方程右端中含有积分求解.故在求解此常微方程之前,必须先求解积分20()ty s ds ⎰.求解数值积分的方法有Newton-Cotes 公式、复化求积公式、Romberg 算法和Gauss-Legender 公式等,我们可以选择其中的一种方法进行求解.求解常微分方程的方法有Euler 格式、后退的Euler 格式、梯形格式、改进的Euler 格式、Euler 两步格式、Runge-Kutta 方法、Taylor 级数法等,我们可以选择其中常用的方法进行求解.3 问题假设(1) 设应用MATLAB 进行求解时,舍入误差可以忽略,不用考虑; (2) 设变量 t 的范围设定不会影响方程的求解;(3) 设积分求解的精度和常微分方程的求解精度不同时,对方程的求解没有影响;腹有诗书气自华4 符号说明T :设用梯形积分公式求解的积分值; S :设用Simpson 积分公式求解的积分值; C :设用Cotes 公式求解的积分值;n y : 设求解常微分方程时第n 次值;5 模型的建立5.1 模型的准备工作1)对积分求解的准备设()f x 是[,]a b 上连续可积的实函数,求()f x 在[,]a b 上的数值积分也就是求()f x 在[,]a b 上的定积分的数值解.对于这个问题来说,即使能找到()f x 的一个原函数()F x 的解析形式,并利用牛顿—莱布尼茨(Newton-Leibniz )公式进行计算,在许多情况下这样做也是非常麻烦的.问题的关键在于,初等函数的原函数不一定就是初等函数,在这种情况下并不能利用牛顿—莱布尼茨公式进行计算.那么就想到绕过牛顿—莱布尼茨公式而直接求一般的定积分的数值解.现在所要解决的常微分方程中的积分就是如此,我们可以用Newton-Cotes 公式、复化求积公式、Romberg 算法和Gauss-Legender 公式等公式进行近似计算定积分的数值解.下面将其中的几种常用公式简单列出如下: ① Newton-Cotes 公式当1n =时为[()()]2b aT f a f b -=+称为梯形公式; 当2n =时为[()4()()]62b a b aS f a f f b --=++称为Simpson 公式;腹有诗书气自华 当4n =时为01234[7()32()12()32()7()]90b aC f x f x f x f x f x -=++++称为Cotes 公式. ② 复化求积公式复化梯形公式:11101[()()][()2()()]22n n n k k k k k h hT f x f x f a f x f b --+===+=++∑∑复化Simpson 公式:11111100122[()4()()][()4()2()()]66n n n n k k k k k k k k h hS f x f x f x f a f x f x f b ---+++====++=+++∑∑∑复化Cotes 公式:11111130001424[7()32()12()32()14()7()]90n n n n n k k k k k k k k hC f a f x f x f x f x f b ----+++=====+++++∑∑∑∑③ Gauss-Legender 公式令对()1f x =准确成立,定02A =则: 一点Gauss-Legender 公式为:11()2(0)f x dx f -≈⎰两点Gauss-Legender公式为:11()(f x dx f f -≈+⎰ 三点Gauss-Legender公式为:11585()()(0)(95995f x dx f f f -≈-++⎰ 2)对常微分方程求解的准备在生产实践和科学研究过程中,我们经常会遇到求解常微分方程或常微分方程组的定解问题.在许多情况下,首先找到问题的解析解,然后再进行相关的计算往往非常困难,有时甚至是行不通的.我们已经可以成功的绕过牛顿—莱布尼茨公式而直接求一般的定积分的数值解.基于同样的理由,对于常微分方程或常微分方程组来说,我们也可以避免求解析解而直接求相应的数值解.一般的高阶常微分方程都可以通过相应的变量代换而化为一阶常微分方程组来求解.一阶常微分方程组的初值问题求数值解与一阶常微分方程的初值问题求数值解的方法基本相同.求解一阶常微分方程的初值问题求数值解的公式有Euler 格式、后退的Euler 格式、梯形格式、改进的Euler 格式、Euler 两步格式、Taylor 级数法和Runge-Kutta 方法等.腹有诗书气自华下面将几种常用的公式简单列出如下: ① Euler 格式:1(,)n n n n y y hf x y +=+② 后退的Euler 格式:111(,)n n n n y y hf x y +++=+③ 梯形格式:111[(,)(,)]2n n n n n n hy y f x y f x y +++=++改进的Euler 格式:预测 1(,)n n n n y y hf x y +=+校正 111[(,)(,)]2n n n n n n hy y f x y f x y +++=++④ Euler 两步格式:112(,)n n n n y y hf x y +-=+ 改进的Euler 两步格式: 预测 112(,)n n n n y y hf x y +-=+校正 111[(,)(,)]2n n n n n n hy y f x y f x y +++=++⑤ Taylor 级数法:2'''()12!!p p n n n n n h h y y hy y y p +=++++ ⑥ Runge-Kutta 方法:二阶Runge-Kutta 方法:11122121()(,)(,)n n n n n p n y y h K K K f x y K f x y phK λλ++⎧=++⎪=⎨⎪=+⎩ 其中满足:122112p λλλ+=⎧⎪⎨=⎪⎩三阶Runge-Kutta 方法:1112233121312()(,)(,)(,())n n n n n n n n y y h K K K K f x y K f x ph y phK K f x qh y qh rK sK λλλ+=+++⎧⎪=⎪⎨=++⎪⎪=+++⎩腹有诗书气自华其中满足:123232223311121316r s p q p q pqs λλλλλλλλ⎧⎪⎪+=⎪++=⎪⎪⎪+=⎨⎪⎪+=⎪⎪⎪=⎪⎩四阶Runge-Kutta 方法:112341213243(22)6(,)(,)22(,)22(,)n n n n n nn n n n h y y K K K K K f x y h h K f x y K h h K f x y K K f x h y hK +⎧=++++⎪⎪=⎪⎪⎪=++⎨⎪⎪=++⎪⎪=++⎪⎩5.2 建立模型首先,对常微分方程中的积分20()ty s ds ⎰进行求解.我们选用梯形公式[()()]2b a T f a f b -=+来求解,则有200()[(0)()]2t t y s ds f f t -=+⎰.将其代入'20()()ty t ay by s ds =+⎰得:'0(0)()(|)()222t b t bt bty t ay y y a y =-=++=++ 然后,求解常微分方程时,用四阶Runge-Kutta 方法:112341213243(22)6(,)(,)22(,)22(,)n n n n n n n n n n h y y K K K K K f x y h h K f x y K h h K f x y K K f x h y hK +⎧=++++⎪⎪=⎪⎪⎪=++⎨⎪⎪=++⎪⎪=++⎪⎩ 则有:112341213243(22)6()22()()222()()222()()22n n h y y K K K K bt bt K a y bt h bt K a y K bt h bt K a y K bt btK a y hK +⎧=++++⎪⎪⎪=++⎪⎪⎪=+++⎨⎪⎪=+++⎪⎪⎪=+++⎪⎩模型建立的具体过程如下流程图:腹有诗书气自华6 模型求解求解数值积分与常微分方程的方法有多种,同样应用数学软件进行求解时,也有多种软件可用,如常用的有MATLAB 软件、Lingo 软件等.这两种软件对目前我们面对的数学问题,几乎都可以用其来解决.Lingo 软件在求解线性规划问题时用的较多,一般的问题都习惯用MATLAB 软件进行求解.6.1 MATLAB 软件求解结果由于在用四阶Runge-Kutta 方法求解时,需要设初始值,所以设01y =,1 1.123y =步长0.2h =.又由于0,0a b ><,为了便于用软件进行求解,不妨设2,2a b ==-计算了1,2,,10t =时,方程的值.所得结果如下表所示:表17 模型验证及结果分析7.1 模型验证7.1.1 MATLAB软件求解结果验证由于这只是一个方程的求解,没有实际背景,故没有真值可以用来进行比较.只能用不同的方法进行求解,来看不同方法求解结果相差多少来验证.在实际生产实践中,我们总是对某一个实际问题数学化,然后建立数学模型来解决.并且在实际生产中,我们可以得到足够多的数据.再对模型求解后,就可以通过比较实际值与模型求解值来验证模型的合理性.但现在所做的题目没有实际背景,没有真值来作比较.故只能通过用不同的方法求解,比较所得结果,验证那种方法更好.7.2 结果分析在模型求解时,我们假设01y=,11.123y=.假设的值不是真值,故对模型的求解有一定的影响.并且只取了一个步长0.2h=,不一定是最优的步长.8 模型的优缺点8.1 模型的优点模型的优点是列出了多种求解数值积分和常微分方程的方法,有多种选择来进行求解.8.2 模型的缺点在模型求解时,我们假设01y=,11.123y=.假设的值不是真值,故对模型的求解有一定的影响.并且只取了一个步长0.2h=,不一定是最优的步长.9 模型的推广腹有诗书气自华在实际生产实践中,我们总是对某一个实际问题数学化,然后建立数学模型来解决.并且在实际生产中,我们可以得到足够多的数据.再对模型求解后,就可以通过比较实际值与模型求解值来验证模型的合理性.本问题中的常微分方程,可能适合与生活实践中的某个数学问题,那么可以用本文中的方法进行求解.参考文献[1] 李庆扬,王能超,易大义编著.数值分析(第四版)[M].武汉:华中科技大学出版社,2006.7.[2]刘卫国编著.MATLAB程序设计教程(第二版)[M]. 北京:中国水利水电出版社,2005.3.[3] 姜启源,谢金星,叶俊编著.数学模型(第三版)[M].北京:高等教育出版社,2005:1-202.[4] 张可村,赵英良编著. 数值计算的算法与分析[M]. 北京:科学出版社,2004.6.[5] 甄西丰编著.实用数值计算方法 [M]. 北京:清华大学出版社,2007.2.[6] 关治,陆金甫编著. 数值方法[M]. 北京:清华大学出版社,2006.12.腹有诗书气自华附录1)程序1:clear;t=[];y=[];a=2;b=-2;t(1)=0;y(1)=1;y(2)=1.123;for j=1:10for i=2:6t(i)=t(i-1)+0.2;i=i+1;endfor i=2:6K1=(a+b*t(i-1)/2)*y(i-1)+b*t(i-1)/2;K2=(a+b*t(i-1)/2)*(y(i-1)+0.1*K1)+b*t(i-1)/2;腹有诗书气自华K3=(a+b*t(i-1)/2)*(y(i-1)+0.1*K2)+b*t(i-1)/2; K4=(a+b*t(i-1)/2)*(y(i-1)+0.2*K3)+b*t(i-1)/2; y(i)=y(i-1)+0.2/6*(K1+2*K2+2*K3+K4)+b*t(i-1)/2; i=i+1;endy(6)y(1)=y(5);y(2)=y(6);t(1)=t(6);j=j+1;end2)求得的结果如下:ans =1.6266ans =-6.0344ans =-14.0483ans =-15.0195ans =腹有诗书气自华-13.3441ans =-12.5391ans =-12.5193ans =-12.9037ans =-13.5898ans =-14.6088出师表两汉:诸葛亮腹有诗书气自华先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。
常微分方程的解法及应用(常见解法及举实例)

常微分方程的解法及应用 (常见解法及举实例)
课 程 名 称: 高等数学(2) 专 业 班 级: 成 员 组 成:
联 系 方 式:
2012 05月25 年日
摘要
常微分方程是微积分学的重要组成部分,广泛用于具体问题的 研究中。求解常微分的问题,常常通过变量分离、两边积分, 如果是高阶的则通过适当的变量代换,达到降阶的目的来解决 问题。本文就是对不同类型的常微分方程的解法的系统总结: 先对常微分方程
解法:
若得其解为则 原方程通解为
2.4二阶线性微分方程解的结构
形如: 若时,(方程一)称为:二阶线性齐次微分方程。
若时,(方程二)称为:二阶非齐次微分方程
2.4.1 二阶线性齐次微分方程解的结构
定理1 :如果函数与是方程(5.2)的两个解, 则
也是(方程一)的解,其中是任意常数.
定理2 : 如果与是方程(5.2)的两个线性无关的特解,则
2.1.4 伯努利方程
形如:
当时, 一阶线性微分方程(公式法) 当时, 可分离变量微分方程 求通解过程: 作变量代换
(积分因子公式法)
2.2 一阶微分方程的应用举例
例1细菌的增长率与总数成正比。如果培养的细菌总数在24h内 由100增长为400、那么前12h后总数是多少? 分析:
例2。。某人的食量是2500 cal/天,其中1200 cal用于基本的 新陈代谢(即自动消耗)。在健身训练中,他所消耗的大约是16 cal/kg/天,乘以他的体重(kg)。假设以脂肪形式贮藏的热量 100%的有效,而1kg脂肪含热量10,000 cal。求出这人的体重是 怎样随时间变化的。 输入率=2500 cal/天
定义及一般解法做简单阐述,然后应用变量替换法解齐次性微 分方程,降阶法求高阶微分方程,讨论特殊的二阶微分方程, 并且用具体的实例分析常微分方程的应用。
常微分方程的求解及其应用

常微分方程的求解及其应用常微分方程是微积分中十分重要的一个分支。
通过解决微分方程,我们可以得到模型在不同情况下的变化,进而为实际问题的解决提供了关键性所在。
本文将介绍常微分方程的求解及其应用。
一、常微分方程的基础知识在介绍常微分方程的求解之前,我们先来了解一些常微分方程的基础知识。
常微分方程是指只有一个自变量的微分方程,即形如:$$\frac{dy}{dx}=f(x,y)$$其中y是自变量,x是因变量,f(x,y)是一个已知函数。
上述方程也可以写成以下形式:$$y'=f(x,y)$$其中y'表示y对x的导数。
二、常微分方程的求解方法1.可分离变量法可分离变量法是常微分方程最常用的求解方法。
该方法的主要思想是将变量y和x分离,即将f(x,y)拆分为g(x)h(y),使得原方程可写成以下形式:$$\frac{dy}{dx}=g(x)h(y)$$然后将上式两边分别积分即可。
以求解一阶线性微分方程为例,其形式为:$$y'+p(x)y=q(x)$$首先,将右式中的q(x)移到左边,得到:$$y'+p(x)y-q(x)=0$$然后,应用一个分离变量法的思想,令p(x)=P'(x),即可将该方程写成:$$\frac{dy}{dx}+P(x)y=Q(x)$$然后,我们使用降阶的方法将该一阶方程转换为首阶方程。
具体来说,将y分离出来,得到:$$\frac{dy}{dx}=-P(x)y+Q(x)$$我们令u(x)=e^{\int P(x)dx},则上式可以写成:$$u(x)\frac{dy}{dx}-u(x)P(x)y=u(x)Q(x)$$将上式两边同时积分,得到:$$u(x)y=\int u(x)Q(x)dx+C$$其中C为常数,e^{\int P(x)dx}也可以写成常数K。
这样,我们就求解出了一阶线性微分方程。
2.参数化方法参数化方法是常微分方程的另一种常见求解方法。
该方法的核心是寻找一条曲线,使得函数y(x)可以表示为该曲线上某点的函数。
常微分方程解法总结

常微分方程解法总结引言在数学领域中,常微分方程是一类以函数与其导数之间关系为描述对象的方程。
它广泛应用于物理、化学、生物等自然科学的建模和解决问题中。
常微分方程的求解有许多方法,本文将对其中一些常见的解法进行总结和讨论。
一、分离变量法分离变量法是求解常微分方程中常用的一种方法。
它的基本思想是将方程中的变量分离,将含有未知函数的项移到方程的一侧,含有自变量的项移到方程的另一侧,然后对两边同时积分,从而得到最终的解析解。
例如,考虑一阶常微分方程dy/dx = f(x)g(y),可以将此方程改写为1/g(y)dy = f(x)dx,然后对两边同时积分得到∫1/g(y)dy =∫f(x)dx。
在对两边积分后,通过求解不定积分得到y的解析表达式。
二、常系数线性齐次微分方程常系数线性齐次微分方程是另一类常见的常微分方程。
它具有形如dy/dx + ay = 0的标准形式,其中a为常数。
这类方程的解法基于线性代数中的特征值和特征向量理论。
对于形如dy/dx + ay = 0的一阶常微分方程,可以假设其解具有形式y = e^(rx),其中r为待定常数。
带入方程,解得a的值为r,于是解的通解即为y = Ce^(rx),其中C为任意常数。
通过特定的初值条件,可以确定常数C的值,得到方程的特解。
三、变量分离法变量分离法是一种适用于某些特殊形式常微分方程的解法。
其基本思想是将方程中的变量进行适当的变换,从而将方程化为分离变量的形式。
例如,考虑一阶非齐次线性微分方程dy/dx = f(x)/g(y),其中f(x)和g(y)为已知函数。
通常情况下,变量分离法需要对方程变形,将含有未知函数和自变量的项进行合并处理。
假设存在一个新的变量z(x) = g(y),则dy/dx = (dy/dz)*(dz/dx) = (1/g'(y))*(dz/dx)。
将dy/dx和f(x)分别代入原方程,进而可以求得dz/dx。
对dz/dx进行积分后,可以得到z(x)的解析表达式。
消元法求解常系数线性微分方程组

消元法求解常系数线性微分方程组下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!消元法求解常系数线性微分方程组导言在微积分和线性代数领域,线性微分方程组是一类重要的数学问题,它们在物理学、工程学以及其他科学领域中有着广泛的应用。
常微分方程组的矩阵求解方法

科技 嚣向导
◇ 高教论述◇
常微分方程组的矩阵求解方法
吕 超
( 大庆石油学院应用技术学院
河北
秦皇岛
060 ) 6 0 4
【 要】 了微分方程组的一般理论, 摘 讨论 定义了矩阵函数 , 用矩阵 函数的相关性质, 利 给出了齐次线性常微分方程组的矩 阵求解方 法。 【 关键词 】 常微分方程组 ; 阵函数 ; 矩 求解方法 ’
= l f … ) () 。l ) (
则对 B :
=
1 .
● ●
●
●
() … () £ f
()
O
1A 1
t
( %( ( 设在某  ̄l a ] 可 £ ) ) N[ 6上连续 ) 其求解 问题也是 十分 困 , , 难的, 除非是 当 %( , = ,…n i 1 ) √ 2 都是常系数方程 的情形 。 用矩 阵记号 . 可将 ( ) 1写成
的 n个线性无关的特解
一舻
]
^
O
1●●,●● ●●J ●
A
㈤= ]
0
^
或者说 . 一个基本解阵 il£ x1 )… 1 ) ( ( ]
e
e
通 应 , ]] : ] 解 为c[ [: 。 z [ =
O
¨
=
;
咖 £= ( l )
一
『 At。
2 设 A为一对角分 块矩 阵 A ’ . 6 =i・
【 0
0
・
0
1常 微 分 方 程 组 的基 本 知 识 .
n
2 设 BA + , . 7 = E N E为单位阵 , = Ⅳ
常微分方程与差分方程

一阶方程
代入法 特征 根法
特征方程的根 及其对应项
待定系数法
基本概念
n阶常系数线性 方程
二阶方程
特征方程法
特征方程的根 及其对应项
待定系数法
f(x)的形式 及特解形式
线性方程 解的结构
相关定理
f(x)的形式 及特解形式
嘉兴学院
29 December 2020
第十章 常微分方程与差分方程
第5页
差分方程解题思路
嘉兴学院
29 December 2020
第十章 常微分方程与差分方程
第7页
通解 如果微分方程的解中含有独立的任意常数, 并且任意常数的个数与微分方程的阶数相同,这 样的解叫做微分方程的通解.
特解 确定了通解中的任意常数以后得到的解, 叫做微分方程的特解.
初始条件 用来确定任意常数的条件.
初值问题 求微分方程满足初始条件的解的问题, 叫初值问题.
无关的特解, 那么 y C1 y1 C2 y2 就是方程(1)的通 解.
(2)二阶非齐次线性方程解的结构:
形如 y P( x) y Q( x) y f ( x)
(2)
嘉兴学院
29 December 2020
第十章 常微分方程与差分方程
第13页
定理 3 设 y*是(2)的一个特解, Y 是与(2)对应
嘉兴学院
29 December 2020
第十章 常微分方程与差分方程
第8页
2.一阶微分方程的解法
(1) 可分离变量的微分方程
形如 g( y)dy f ( x)dx
解法 g( y)dy f ( x)dx
分离变量法
(2) 齐次方程 形如 dy f ( y) dx x
常系数线性微分方程组解法

① ②
(6-37)
将式(6-37)和式(6-38)代入式①得
(6-38)
解得
y=C1cos t+C2sin t.
第七节、常系数线性微分方程组解法
第七节、常系数线性微分方程组解法
【例2】
解 微分方程组
解记D=d/dt,则方程组可写成
接下来消去x,得 (2D2+4D+2)y=-1,(6-39)
常系数线性微 分方程组解法
第七节、常系数线性微分方程组解法
前面讨论的微分方程所含的未知函数及方程的 个数都只有一个,但在实际问题中,会遇到有几个 微分方程联立起来共同确定几个具有同一变量的函 数的情形.这些联立的微分方程称为微分方程组.如果 微分方程组中的每一个方程都是常系数线性微分方 程,则称这种微分方程组为常系数线性微分方程组.
=A的特解,
将其代入方程(6-39),得A=-1/2.
因此,方程(6-39)的通解为
y=C1+C2te-t-1/2. 2x-2Dy=t,
第七节、常数线性微分方程组解法
即 因此,原方程组的通解为 其中C1,C2为任意常数.
谢谢聆听
第七节、常系数线性微分方程组解法
本节只讨论常系数线性微分方程组,所用 到的求解方法是:利用代数的方法消去微分方 程组中的一些未知函数及其各阶导数,将所给 方程组的求解问题转化为含有一个未知函数的 高阶常系数线性微分方程的求解问题.下面通过 实例来说明.
第七节、常系数线性微分方程组解法
【例1】
解 微分方程组
方程(6-39)对应的齐次方程的特征方程为 2r2+4r+2=0,
第七节、常系数线性微分方程组解法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三篇 第十章 常微分方程(组)求解 170. 一、 求微分方程的解 (一) 相关函数(命令)及简介 1, dsolve('equ1','equ2',…):Matlab求微分方程的解析解。equ1,equ2,…为方程(或条件)。写方程(或条件)时用Dy表示y关于自变量的一阶导数,用D2y表示y关于自变量的二阶导数,依次类推。 2, simplify(s):对表达式s使用maple的化简规则进行化简。 例如: syms x simplify(sin(x)^2+cos(x)^2) ans=1 3,[r,how]=simple(s):由于Matlab提供了多种化简规则,simple命令就是对表达式s用各种规则进行化简,然后用r返回最简形式,how返回形成这种形式所用的规则。 例如: syms x [r,how]=simple(cos(x)^2-sin(x)^2) r=cos(2*x) how=combine 4,[T,Y]=solver(odefun,tspan,y0),求微分方程的数值解。 (1)其中的solver为命令 ode45,ode23,ode113,ode15s,ode23s,ode23t,ode23tb之一。
(2)odefun是显式常微分方程:00
(,),().dyftydtyty
(3)在积分区间0[,]ftspantt上,从0t到ft,用初始条件0y求解。 (4)要获得问题在其他指定时间点012,,,...ttt上的解,则令012[,,,...,]ftspantttt(要求是单调的) (5)因为没有一种算法可以有效地解决所有的ODE问题,为此,Matlab提供了多种求解器solver,对于不同的ODE问题,采用不同的solver。
求解器solver ODE类型 特点 说明 ode45 非刚性 单步算法:4,5阶的Runge-Kutta 大部分场合的首选算法 方程;累计截断误差达3()x
ode23 非刚性 单步算法:2,3阶的Runge-Kutta 使用于精度较低的情形
方程;累计截断误差达3()x
Matlab常微分方程(组)求解 第三篇 第十章 常微分方程(组)求解 171. ode113 非刚性 多步法:Adams算法;高低精度均 计算时间比ode45短 可到3610~10。 ode23t 适度刚性 采用梯形算法 适度刚性情形 ode15s 刚性 多步法:Gears反向数值微分 若ode45失败时,可尝精度中等 试使用 ode23s 刚性 单步法:2阶Rosebrock算法; 当精度较低时, 计算 低精度 时间比ode15s短 ode23tb 刚性 梯形算法;低精度 当精度较低时, 计算 时间比ode15s短
(6)要特别说明的是:ode23,ode45是极其常用的用来求解非刚性的标准形式的一阶常微分方程(组)的初值问题的解的Matlab的常用程序,其中: ode23采用龙格-库塔2阶算法,用3阶公式作误差估计来调节步长,具有低等的精度。 ode45则采用龙格-库塔4阶算法,用5阶公式作误差估计来调节步长,具有中等的精度。 5,ezplot(x,y,[tmin,tmax]):符号函数的作图命令,x,y为关于参数t的符号函数,[tmin,tmax]为t的取值范围。 6,inline():建立一个内联函数。格式:inline('expr','var1','var2',…),注意括号里的表达式要加引号。 如:Q=dblquad(inline('y*sin(x)'),pi,2*pi,0,pi).
例1:求解微分方程22xdyxyxedx,并加以验证。
求解本问题的Matlab程序: syms x y y=dsolve('Dy+2*x*y=x*exp(-x^2)','x') simplify(diff(y,x)+2*x*y-x*exp(-x^2)) 说明: (1) 行1是用命令定义x,y为符号变量。这里可以不写,但为确保正确性,建议写上; (2) 行2是用命令求出的微分方程的解:1/2*exp(-x^2)*x^2+exp(-x^2)*C1 (3) 行3使用所求得的解。这里是将解代入原微分方程,结果应该为0,但这里给出:-x^3*exp(-x^2)-2*x*exp(-x^2)*C1+2*x*(1/2*exp(-x^2)*x^2+exp(-x^2)*C1) (4) 行4用simplify()函数对上式进行化简,结果为0,表明y=y(x)的确是微分方程的解。 例2:求解微分方程0xxyye在初始条件(1)2ye下的特解,并画出解函数的图形。 求解本问题的Matlab程序: syms x y y=dsolve('x*Dy+y-exp(x)=0','y(1)=2*exp(1)','x') ezplot(y) 第三篇 第十章 常微分方程(组)求解 172. 微分方程的特解为y=1/x*exp(x)+1/x*exp(1)(Matlab格式),即xeeyx,解函数图形(略)。
例3:求解微分方程组5,30tdxxyedtdyxydt在初始条件01tx,
00ty
下的特解,并画出解函数的图形。 Matlab程序: syms x y [x,y]=dsolve('Dx+5*x+y=exp(t)','Dy-x-3*y=0','x(0)=1','y(0)=0','t') simple(x); simple(y); ezplot(x,y,[0,1.3]);axis auto 2,用ode23,ode45等求解非刚性的标准形式的一阶常微分方程(组)的初值问题的数值解(近似解)
例4:求解微分方程初值问题2222,(0)1dyyxxdxy
的数值解,求解范围
为[0,0.5]。 Matlab程序:
fun=inline('-2*y+2*x^2+2*x','x','y'); [x,y]=ode23(fun,[0,0.5],1); x'; y'; plot(x,y,'o-')
例5:用Euler折线法求解微分方程初值问题2
2,(0)1dyxydxyy
的数
值解(步长h取0.4),求解范围为[0,2]。 解:本问题的差分方程为
001210,1,0.4,,(,)((,)2/),0,1,2,...,1kkkkkkxyhxxhyyhfxyfxyyxykn
其中:
Matlab程序: clear f=sym('y+2*x/y^2'); a=0; 第三篇 第十章 常微分方程(组)求解 173. b=2; h=0.4; n=(b-a)/h+1; x=0; y=1; szj=[x,y]; for i=1:n-1 y=y+h*subs(f,{'x','y'},{x,y}); x=x+h; szj=[szj;x,y]; end szj plot(szj(:,1)szj(:,2)) 练习: 1,求微分方程2(1)2sin0xyxyx的通解。 2,求微分方程25sinxyyyex的通解。
3,求微分方程组0,0dxxydtdyxydt
在初值条件001,0ttxy下的特解,并画
出函数()yfx的图形。 4,分别用23,45odeode求上述第3题中的微分方程初值问题的数值解(近似解),求解区间为[0,2]t。利用画图来比较两种求解器之间的差异。
5,用Euler折线法求解微分方程初值问题2312,(0)1x
yyyy
的数值
解(步长h取0.1),求解范围为[0,2]。 6,用四阶RungeKutta法求解微分方程初值问题cos,(0)1xyyexy的数值解(步长h取0.1),求解范围为[0,3]。 四阶RungeKutta法的迭代公式为(Euler法实为一阶RungeKutta第三篇 第十章 常微分方程(组)求解
174. 法):001112341213243(),,(22),6(,),0,1,2,...,1(,),22(,),22(,),kkkkkkkkkkkkyyxxxhhyyLLLLLfxyknhhLfxyLhhLfxyLLfxhyhL 试用该方法求解第5题中的初值问题。 Matlab程序:
clear f=sym('y-exp(x)*cos(x)'); a=0; b=3; h=0.1; n=(b-a)/h+1; x=0; y=1; szj=[x,y]; for i=1:n-1 l1=subs(f,{'x','y'},{x,y}); l2=subs(f,{'x','y'},{x+h/2,y+l1*h/2}); l3=subs(f,{'x','y'},{x+h/2,y+l2*h/2}); l4=subs(f,{'x','y'},{x+h,y+l3*h}); y=y+h*(l1+2*12+2*13+14)/6; x=x+h; szj=[szj;x,y]; end szj plot(szj(:,1)szj(:,2)) 7,用ode45方法求上述第6题的常微分方程初值问题的数值解(近似解),从而利用画图来比较两者的差异。
二、常微分方程(组)的MATLAB符号求解
10.1.1 用MATLAB求常微分方程(组)的通解 用Matbal函数dsolve求常微分方程:()(,,,,...,)0nFxyyyy (10.1)