文档库 最新最全的文档下载
当前位置:文档库 › MATLAN程序(常微分方程的求解)

MATLAN程序(常微分方程的求解)

MATLAN程序(常微分方程的求解)
MATLAN程序(常微分方程的求解)

常微分方程的求解(龙格-库塔法)

间歇反应器中的连串-平行复杂反应系统

在间歇反应器中进行液相反应制备产物B ,反应网络如图所示。

反应可在180~260o C 的温度范围内进行,反应物X 大量过剩,而C 、D 和E 为副产物。各反应均为一级动力学关系:r kC =-,式中0a E RT k k e -=。已知参数:1001 5.7805210,k =?1202 3.9231710,k =?403 1.6425410,k =?804 6.26410,k =?405 2.166710,k -=?1124670,a E =2150386,a E =377954a E =。初始浓度为:t=0, 31/,A C kmol m =30/,B C D E C C C C kmol m ====用最优化方法求得使产物B 收率最大的最优化温度为224.6o C ,试计算(1)再此最优反应温度下各组分浓度随时间的动态变化;

(2)最优反应时间。

数学模型:根据各组分的物料平衡和动力学方程容易导出以下模型方程组:

12()A A dC k k C dt

=-+ 13B A B dC k C k C dt

=- 24C A C dC k C k C dt

=- 35D B D dC k C k C dt

=- 45E C D dC k C k C dt

=+

function BatchReactor

% 间歇反应器中的连串-平行复杂反应系统

%

% Author: Huang Huajiang

% Copyright 2003 UNILAB Research Center,

% East China University of Science and Technology, Shanghai, PRC

% $Revision: 1.0 $ $Date: 2002/07/16 $

clear all

clc

T = 224.6 + 273.15; % Reactor temperature, Kelvin

R = 8.31434; % Gas constant, kJ/kmol K

% Arrhenius constant, 1/s

k0 = [5.78052E+10 3.92317E+12 1.64254E+4 6.264E+8];

% Activation energy, kJ/kmol

Ea = [124670 150386 77954 111528];

% 初始浓度C0(i), kmol/m^3

C0 = [1 0 0 0 0];

tspan = [0 1e4];

[t,C] = ode45(@MassEquations, tspan, C0,[],k0,Ea,R,T)

% 绘图

plot(t,C(:,1),'r-',t,C(:,2),'k:',t,C(:,3),'b-.',t,C(:,4),'k--');

xlabel('Time (s)');

ylabel('Concentration (kmol/m^3)');

legend('A','B','C','D')

CBmax = max(C(:,2)); % CBmax: the maximum concentration of B, kmol/m^3 yBmax = CBmax/C0(1) % yBmax: the maximum yield of B

index = find(C(:,2)==CBmax);

t_opt = t(index) % t_opt: the optimum batch time, s

% ------------------------------------------------------------------

function dCdt = MassEquations(t,C,k0,Ea,R,T)

% Reaction rate constants, 1/s

k = k0.*exp(-Ea/(R*T));

k(5) = 2.16667E-04;

% Reaction rates, kmoles/m3 s

rA = -(k(1)+k(2))*C(1);

rB = k(1)*C(1)-k(3)*C(2);

rC = k(2)*C(1)-k(4)*C(3);

rD = k(3)*C(2)-k(5)*C(4);

rE = k(4)*C(3)+k(5)*C(4);

% Mass balances

dCdt = [rA; rB; rC; rD; rE];

运行程序:>> BatchReactor yBmax =

0.8129

t_opt =

739.7374

微分方程公式运用表

微分方程公式运用表 一、 一阶微分方程 判断特征: (,)dy f x y dx = 类型一:()()dy g x h y dx =(可分离变量的方程) 解法(分离变量法): ()()dy g x dx h y =,然后两边同时积分。 类型二:()()dy P x y Q x dx +=(一阶线性方程) 解法(常数变易法):()()(())P x dx P x dx y e C Q x e dx -??=+? 类型三: (,)(,)dy f x y f tx ty dx ==(一阶齐次性方程) 解法(换元法):y u x =?令类型一 类型四:P()y=Q(x)y n dy x dx +(伯努利方程) 解法(同除法):1()()n n dy y P x y Q x dx --+=?类型二 二、 可降阶的高阶微分方程 类型一:()()n y f x = 解法(多次积分法):(1)()()n du u y f x f x dx -=? =?令多次积分求 类型二:''(,')y f x y = 解法:'(,)dp p y f x p dx =?=?令一阶微分方程 类型三:''(,')y f y y = 解法:'(,)dp dp dy dp p y p f y p dx dy dx dy =?==??令类型二 三、线性微分方程 类型一:''()'()0y P x y Q x y ++=(二阶线性齐次微分方程) 解法:找出方程的两个任意线性不相关特解:12(),()y x y x

则:1122()()()y x c y x c y x =+ 类型二:''()'()()y P x y Q x y f x ++=(二阶线性非齐次微分方程) 解法:先找出对应的齐次微分方程的通解:31122()()()y x c y x c y x =+ 再找出非齐次方程的任意特解()p y x ,则:1122()()()()p y x y x c y x c y x =++ 类型三:'''0y py q ++=(二阶线性常系数齐次微分方程) 解法(特征方程法):2 1,20p q λλλ++=?= (一)122121240x x p q y c e c e λλλλ?=->?≠?=+ (二)12120()x y c c x e λλλλ?=?==?=+ (三)12120,(cos sin )x i i y e c x c x αλαβλαβββ?

常微分方程第一章

第一章一阶微分方程 1、1学习目标: 1、理解微分方程有关得基本概念,如微分方程、方程阶数、解、通解、初始条件、初值问题等得定义与提法、掌握处理微分方程得三种主要方法: 解析方法, 定性方法与数值方法、 2、掌握变量分离法,用变量替换将某些方程转化为变量分离方程, 掌握一阶线性方程得猜测检验法, 常数变易法与积分因子法, 灵活运用这些方法求解相应方程, 理解与掌握一阶线性方程得通解结构与性质、 3、能够大致描述给定一阶微分方程得斜率场, 通过给定得斜率场描述方程解得定性性质; 理解与掌握欧拉方法, 能够利用欧拉方法做简单得近似计算、 4、理解与掌握一阶微分方程初值问题解得存在唯一性定理, 能够利用存在唯一性定理判别方程解得存在性与唯一性并解决与之相关得问题, 了解解对初值得连续相依性与解对初值得连续性定理, 理解适定性得概念、 5、理解自治方程平衡点, 平衡解, 相线得概念, 能够画出给定自治方程得相线, 判断平衡点类型进而定性分析满足不同初始条件解得渐近行为、 6、理解与掌握一阶单参数微分方程族得分歧概念, 掌握发生分歧得条件, 理解与掌握各种分歧类型与相应得分歧图解, 能够画出给定单参数微分方程族得分歧图解, 利用分歧图解分析解得渐近行为随参数变化得状况、 7、掌握在给定得假设条件下, 建立与实际问题相应得常微分方程模型, 并能够灵活运用本章知识进行模型得各种分析、 1、2基本知识: (一)基本概念 1.什么就是微分方程: 联系着自变量、未知函数及它们得导数(或微分)间得关系式(一般就是 指等式),称之为微分方程、 2.常微分方程与偏微分方程: (1)如果在微分方程中,自变量得个数只有一个,则称这种微分方程为常微分方程,例 如, 、 (2)如果在微分方程中,自变量得个数为两个或两个以上,则称这种微分方程为偏微 分方程、例如, 、 本书在不特别指明得情况下, 所说得方程或微分方程均指常微分方程、 3.微分方程得阶数: 微分方程中出现得未知函数最高阶导数得阶数、例如, 就是二阶常微分方程; 与就是二阶偏微分方程、 4.n阶常微分方程得一般形式: , 这里就是得已知函数,而且一定含有得项;就是未知函数,就是自变量、 5.线性与非线性: (1) 如果方程得左端就是及得一次有理式,则称为n阶线性微分方程、

MATLAB求解常微分方程数值解

利用MATLAB求解常微分方程数值解

目录 1. 内容简介 (1) 2. Euler Method(欧拉法)求解 (1) 2.1. 显式Euler法和隐式Euler法 (2) 2.2. 梯形公式和改进Euler法 (3) 2.3. Euler法实用性 (4) 3. Runge-Kutta Method(龙格库塔法)求解 (5) 3.1. Runge-Kutta基本原理 (5) 3.2. MATLAB中使用Runge-Kutta法的函数 (7) 4. 使用MATLAB求解常微分方程 (7) 4.1. 使用ode45函数求解非刚性常微分方程 (8) 4.2. 刚性常微分方程 (9) 5. 总结 (9) 参考文献 (11) 附录 (12) 1. 显式Euler法数值求解 (12) 2. 改进Euler法数值求解 (12) 3. 四阶四级Runge-Kutta法数值求解 (13) 4.使用ode45求解 (14)

1.内容简介 把《高等工程数学》看了一遍,增加对数学内容的了解,对其中数值解法比较感兴趣,这大概是因为在其它各方面的学习和研究中经常会遇到数值解法的问题。理解模型然后列出微分方程,却对着方程无从下手,无法得出精确结果实在是让人难受的一件事情。 实际问题中更多遇到的是利用数值法求解偏微分方程问题,但考虑到先从常微分方程下手更为简单有效率,所以本文只研究常微分方程的数值解法。把一个工程实际问题弄出精确结果远比弄清楚各种细枝末节更有意思,因此文章中不追求非常严格地证明,而是偏向如何利用工具实际求解出常微分方程的数值解,力求将课程上所学的知识真正地运用到实际方程的求解中去,在以后遇到微分方程的时候能够熟练运用MATLAB得到能够在工程上运用的结果。 文中求解过程中用到MATLAB进行数值求解,主要目的是弄清楚各个函数本质上是如何对常微分方程进行求解的,对各种方法进行MATLAB编程求解,并将求得的数值解与精确解对比,其中源程序在附录中。最后考察MATLAB中各个函数的适用范围,当遇到实际工程问题时能够正确地得到问题的数值解。 2.Euler Method(欧拉法)求解 Euler法求解常微分方程主要包括3种形式,即显式Euler法、隐式Euler法、梯形公式法,本节内容分别介绍这3种方法的具体内容,并在最后对3种方法精度进行对比,讨论Euler法的实用性。 本节考虑实际初值问题 使用解析法,对方程两边同乘以得到下式

常微分方程数值解

第四章常微分方程数值解 [课时安排]6学时 [教学课型]理论课 [教学目的和要求] 了解常微分方程初值问题数值解法的一些基本概念,如单步法和多步法,显式和隐式,方法的阶数,整体截断误差和局部截断误差的区别和关系等;掌握一阶常微分方程初值问题的一些常用的数值计算方法,例如欧拉(Euler)方法、改进的欧拉方法、龙贝-库塔(Runge-Kutta)方法、阿达姆斯(Adams)方法等,要注意各方法的特点及有关的理论分析;掌握构造常微分方程数值解的数值积分的构造方法和泰勒展开的构造方法的基本思想,并能具体应用它们导出一些常用的数值计算公式及评估截断误差;熟练掌握龙格-库塔(R-K)方法的基本思想,公式的推导,R-K公式中系数的确定,特别是能应用“标准四阶R-K公式”解题;掌握数值方法的收敛性和稳定性的概念,并能确定给定方法的绝对稳定性区域。[教学重点与难点] 重点:欧拉方法,改进的欧拉方法,龙贝-库塔方法。 难点:R—K方法,预估-校正公式。 [教学内容与过程] 4.1 引言 本章讨论常微分方程初值问题 (4.1.1) 的数值解法,这也是科学与工程计算经常遇到的问题,由于只有很特殊的方程能用解析方法求解,而用计算机求解常微分方程的初值问题都要采用数值方法.通常我们假定(4.1.1)中 f(x,y)对y满足Lipschitz条件,即存在常数L>0,使对,有 (4.1.2) 则初值问题(4.1.1)的解存在唯一. 假定(4.1.1)的精确解为,求它的数值解就是要在区间上的一组离散点 上求的近似.通常取 ,h称为步长,求(4.1.1)的数值解是按节点的顺序逐步 推进求得.首先,要对方程做离散逼近,求出数值解的公式,再研究公式的局部截

(完整版)常微分方程习题及解答

常微分方程习题及解答 一、问答题: 1.常微分方程和偏微分方程有什么区别?微分方程的通解是什么含义? 答:微分方程就是联系着自变量,未知函数及其导数的关系式。常微分方程,自变量的个数只有一个。偏微分方程,自变量的个数为两个或两个以上。常微分方程解的表达式中,可能包含一个或几个任意常数,若其所包含的独立的任意常数的个数恰好与该方程的阶数相同,这样的解为该微分方程的通解。 2.举例阐述常数变易法的基本思想。 答:常数变易法用来求线性非齐次方程的通解,是将线性齐次方程通解中的任意常数变易为待定函数来求线性非齐次方程的通解。 例:求 ()()dy P x y Q x dx =+的通解。 首先利用变量分离法可求得其对应的线性齐次方程的通解为()P x dx y c ?=l ,然后将 常数c 变易为x 的待定函数()c x ,令()()P x dx y c x ? =l ,微分之,得到 ()()()()()P x dx P x dx dy dc x c x P x dx dx ?? =+l l ,将上述两式代入方程中,得到 ()()()()()()()()() P x dx P x dx P x dx dc x c x P x dx c x P x Q x ??+?=+l l l 即 ()() ()P x dx dc x Q x dx -? =l 积分后得到()()()P x dx c x Q x dx c -?=+? %l 进而得到方程的通解 ()()(()) P x dx P x dx y Q x dx c -? ?=+?%l l 3.高阶线性微分方程和线性方程组之间的联系如何? 答:n 阶线性微分方程的初值问题 ()(1) 11(1) 01020()...()()()(),(),....()n n n n n n x a t x a t x a t x f t x t x t x t ηηη---'?++++=??'===?? 其中12()(),...(),()n a t a t a t f t ,是区间a t b ≤≤上的已知连续函数,[]0,t a b ∈, 12,,...,n ηηη是已知常数。它可以化为线性微分方程组的初值问题

常微分方程教材

第九章 微分方程 一、教学目标及基本要求 (1) 了解微分方程及其解、通解、初始条件和特解的概念。 (2) 掌握变量可分离的方程和一阶线性方程的解法,会解齐次方程。 (3) 会用降阶法解下列方程:),(),,(),()(y y f y y x f y x f y n '='''=''=。 (4) 理解二阶线性微分方程解的性质以及解的结构定理。 (5) 掌握二阶常系数齐次线性微分方程的解法,并会解某些高于二阶的常系数齐次线性微分方程。 (6) 会求自由项多项式、指数函数、正弦函数、余弦函数,以及它们的和与二阶常系数非齐次线性微分方程的 特解和通解。 (7) 会用微分方程解决一些简单的应用问题。 二、本章教学内容的重点和难点 1、理解和熟悉微分方程的一些基本概念; 2、掌握一阶和高阶微分方程的各种初等积分法; 3、熟悉线性方程的基础理论,掌握常系数二阶线性齐次与非齐次方程的解法; 4、会列微分方程及其始值问题去解决实际问题。 三、本章教学内容的深化和拓宽: 1、分离变量法的理论根据; 2、常用的变量代换; 3、怎样列微分方程解应用题; 4、黎卡提方程; 5、全微分方程的推广; 6、二阶齐次方程; 7、高阶微分方程的补充; 8、求线性齐次方程的另一个线性无关的解; 9、求线性非齐次方程的一个特解; 10、常数变易法。 本章的思考题和习题 解下列方程(第1-6题) 1、2)0(,)1(==+'+y x y y x 2、()[]f dx x f e e x f x x x ,)(02?+=可微 3、212 22sin 22sin 1X e y x y y x ++='?+ 4、0)3(24=+-xydx dy x y 5、21)0(,1)0(,022- ='=='+''y y y x y 6、2y y y x y '-'+'= 7、已知可微函数)(x f 满足 ?-=+x x f f x f x x f dx x f 12)()1(,1)()()(和求; 8、已知)(,,1)(2 1)(10x f f x f da ax f 求可微+= ?; 9、求与曲线族C y x =+2232相交成ο45角的曲线; 10、一容器的容积为100L ,盛满盐水,含10kg 的盐,现以每分钟3L 的速度向容器内注入淡水冲淡盐水,又以同样的速度将盐水抽入原先盛满淡水的同样大小的另一容器内,多余的水便从容器内流出,问经过多少时间,两容器内的含盐量相等?

常微分方程第1章教案

第一章 绪论 定义:指含有未知量的等式. 代数方程:2210x x -+ = 1=,3121x x x --=+ 超越方程:sin cos 1x x +=,221x e x x =+- 以上都是一元方程,一般形式可以写成()0F x = 二元方程2210x y +-=的一般形式可以写成(,)0F x y =,同理三元方程22210 x y z ++-=等等 根据对未知量施加的运算不同进行方程的分类,高等数学的运算主要是微分和积分运算 一、引例 例1:已知一曲线通过点(1,2),且在该曲线上任一点(,)M x y 处的切线的斜率为2x ,求这曲线的方程. 解:设所求曲线的方程为()y f x =,由题意 1d 2(1)d 2(2)x y x x y =?=???=? 由(1)得2d y x x =?,即2y x C =+ (3) 把条件“1x =时,2y =,”代入上式(3)得221 C =+,1C ∴= 把1C =代入式(3),得所求曲线方程:21y x =+ 例2:列车在平直道路上以20m/s (相当于72km/h )的速度行驶,当制动时列车获得加速度20.4m /s -.问开始制动后需要多长时间列车才能停住,以及列车在这段时间里行驶了多少路程? 解:设列车在开始制动后t s 时行驶了s m.根据题意,反映制动阶段列车运动规律的函数()s s t =应满足关系式 00 220d 0.4(4) d d 20(5)d 0*t t t s t s v t s ===?=-???==???=??() 把式(4)两端积分一次,得1d 0.4d s v t C t = =-+ (6)

常微分方程的求解与定性分析实验报告完整版

常微分方程的求解与定性分析实验报告 标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N]

常微分方程的求解与定性分析实验报告 一、实验综述 1、实验目的及要求 归纳和学习求解常微分方程(组)的基本原理和方法; 掌握解析、数值解法,并学会用图形观察解的形态和进行解的定性分析; 熟悉MATLAB软件关于微分方程求解的各种命令; 通过范例学习建立微分方程方面的数学模型以及求解全过程; 通过该实验的学习,使学生掌握微分方程(组)求解方法(解析法、欧拉法、梯度法、改进欧拉法等),对常微分方程的数值解法有一个初步了解,同时学会使用MATLAB 软件求解微分方程的基本命令,学会建立微分方程方面的数学模型。这对于学生深入理解微分、积分的数学概念,掌握数学的分析思维方法,熟悉处理大量的工程计算问题的方法是十分必要的。 2、实验仪器、设备或软件 电脑、matlab7.0 二、实验过程(实验步骤、记录、数据、分析) 实验内容: 根据实验内容和步骤,完成以下实验,要求写出实验报告(实验目的→问题→数学模型→算法与编程→计算结果→分析、检验和结论)

1.求微分方程的解析解,并画出它们的图形。 y '= y + 2 x, y (0) = 1, 0< x <1; m=dsolve('Dy=y+2*x','y(0)=1','x') ezplot(m,[0 1]) m = 3*exp(x) - 2*x – 2 1.求微分方程?????====-+] 100[0 )0(;0)0(0 1.03 t u u u u u 的数值解,要求编写求解程序。 function dy=vdp1000(t,y) dy=zeros(2,1); dy(1)=y(2); dy(2)=-y(1)+0.1*y(1)^3; [T,Y]=ode15s('vdp1000',[0 10],[0 0]); plot(T,Y(:,1),'-') 3.Rossler 微分方程组:

常微分方程计算

实验八 常微分初值问题的数值解法 8.1实验目的 ① 掌握常微分方程数值解的常用算法; ② 培养编程与上机调试能力. 8.2算法描述 8.2.1改进欧拉法 求解 '0 ()(,)()()y x f x y a x b y a y ?=≤≤?=? 对给定的(,)f x y ,用改进的欧拉公式 1111()[()()]2 n n n n n n n n n n y y hf x y h y y f x y f x y ++++=++???=++++??求解常微分方程初值问题的解. 8.2.2四阶龙格-库塔法 对上述给定的(,)f x y ,用四阶龙格-库塔法求解常微分方程初值问题 112341213243(22)6(,) 11(,)2211(,)22(,)n n n n n n n n n n h y y k k k k k f x y k f x h y hk k f x h y hk k f x h y hk +?=++++??=???=++???=++??=++?? 8.3实验题目 (1) 用改进的欧拉公式,求解常微分方程初值问题的解 20.10.4(0)1 dy y x dx y ?=?≤≤??=? (2) 用四阶龙格-库塔公式解初值问题: / 2.0 2.6,0.2(2.0)1dy x y x h dx y ?=?≤≤=??=?

8.4实验要求 (1)选择一种计算机语言设计出改进欧拉法和四阶龙格-库塔法方法求解常微分方程初值问题的程序,观察运行结果. (2)利用Matlab求解常微分方程初值问题 函数dsolve()用于求解微分方程.Dy表示:dy/dt(t 为缺省的自变量),Dny表示y对t 的n阶导数. Matlab6.1环境下操作如下: >> y=dsolve('Dy=y*y','y(0)=1') %求解题目1 >> y=dsolve('Dy=y/t','y(2.0)=1') %求解题目2 (3)利用最小二乘法拟合通过改进欧拉法求出微分方程的一系列数值解的近似函数方程.并利用Matlab的绘图功能画出函数的曲线 8.5思考 一阶微分方程初值问题有哪些数值解法?比较各种方法的优缺点并举具体例子说明之?

常微分方程第一章初等积分法

第一章 初等积分法 方程对于学过中学数学的人来说是比较熟悉的,在初等数学中就有各种各样的方程,比如线性方程、二次方程、指数方程、对数方程、三角方程和方程组等等.这些方程都是要把研究的问题中的已知量和未知量之间的关系找出来,列出包含一个未知量或几个未知量的一个或者多个方程式,然后求取方程(组)的解.这里,方程(组)的解为常数. 然而在实际生活中,常常出现一些特点和以上方程完全不同的问题.比如:求物体在一定条件下运动的规律(比如某物体做匀速直线运动,速度为5,求其位移变化的规律);求满足一定条件(比如在某曲线任意点处的斜率为该点横坐标的2倍)的曲线的方程等等. 物体运动规律、曲线方程在数学上是用函数关系来描述的,因此,这类问题就是要去寻求满足某些条件的一个或者几个未知函数.也就是说,凡是这类问题都不是简单地去求一个或者几个固定不变的数值,而是要求出一个或者几个未知的函数. 在数学上,解决上述问题也需要建立方程,不过建立的是含有未知函数自变量、未知函数及未知函数的导数的方程(比如上述两个问题建立的方程为: 5=dt ds ,x dx dy 2=) ,这类方程就叫做微分方程. 本章主要介绍微分方程的基本概念及几类简单的微分方程的解法. 1.1 微分方程的基本概念 300多年前,由牛顿(Newton,1642-1727)和莱布尼兹(Leibniz,1646-1716)所创立的微积分学,是人类科学史上划时代的重大发现.而微积分的产生和发展,又与求解微分方程问题密切相关.这是因为:微积分产生的一个重要动因来自于人们探求物质世界运动规律的需求.一般地,运动规律很难全靠实验观测认识清楚,因为人们不太可能观察到运动的全过程.然而,运动物体(变量)与它的瞬时变化率(导数)之间,通常在运动过程中按照某种己知定律存在着联系,我们容易捕捉到这种联系.而这种联系,用数学语言表达出来,其结果往往形成一个微分方程.一

matlab常微分方程和常微分方程组的求解

下载的,感觉不错,共享一下 常微分方程和常微分方程组的求解 一、实验目的: 熟悉Matlab 软件中关于求解常微分方程和常微分方程组的各种命令,掌握利用Matlab 软件进行常微分方程和常微分方程组的求解。 二、相关知识 在MATLAB 中,由函数dsolve()解决常微分方程(组)的求解问题,其具体格式如下: X=dsolve(‘eqn1’,’eqn2’,…) 函数dsolve 用来解符号常微分方程、方程组,如果没有初始条件,则求出通解,如果有初始条件,则求出特解。 例1:求解常微分方程1dy dx x y = +的MATLAB 程序为:dsolve('Dy=1/(x+y)','x'), 注意,系统缺省的自变量为t ,因此这里要把自变量写明。 结果为:-lambertw(-C1*exp(-x-1))-x-1 其中:Y=lambertw(X)表示函数关系Y*exp(Y)=X 。 例2:求解常微分方程2 '''0yy y -=的MATLAB 程序为: Y2=dsolve('y*D2y-Dy^2=0’,’x’) 结果为: Y2 =[ exp((x+C2)/C1)] [ C2] 我们看到有两个解,其中一个是常数。 例3:求常微分方程组253t t dx x y e dt dy x y e dt ?++=??? ?--=??通解的MATLAB 程序为: [X,Y]=dsolve('Dx+5*x+y=exp(t),Dy-x-3*y=exp(2*t)','t') 例4:求常微分方程组020 210cos ,224,0 t t t dx dy x t x dt dt dx dy y e y dt dt =-=?+-==??? ?++==??通解的MATLAB 程序为: [X,Y]=dsolve('Dx+2*x-Dy=10*cos(t),Dx+Dy+2*y=4*exp(-2*t)','x(0)=2','y(0)=0')

常微分课后答案第一章

第一章 绪论 §1.1 微分方程:某些物理过程的数学模型 §1.2 基本概念 习题1.2 1.指出下面微分方程的阶数,并回答方程是否线性的: (1) y x dx dy -=24; (2)0122 2 2=+??? ??-xy dx dy dx y d ; (3)0322 =-+? ? ? ??y dx dy x dx dy ; (4)x xy dx dy dx y d x sin 352 2=+-; (5) 02cos =++x y dx dy ; (6)x e dx y d y =+??? ? ??22sin . 解 (1)一阶线性微分方程; (2)二阶非线性微分方程; (3)一阶非线性微分方程; (4)二阶线性微分方程; (5)一阶非线性微分方程; (6)二阶非线性微分方程. 2.试验证下面函数均为方程02 2 2=+y dx y d ω的解,这里0>ω是常数. (1)x y ωcos =; (2)11(cos C x C y ω=是任意常数); (3)x y ωsin =; (4)22(sin C x C y ω=是任意常数); (5)2121,(sin cos C C x C x C y ωω+=是任意常数); (6)B A B x A y ,()sin(+=ω是任意常数).

解 (1)y x dx y d x dx dy 2222cos ,sin ωωωωω-=-=-=,所以02 2 2=+y dx y d ω,故x y ωcos =为方程的解. (2)y x C y x C y 2 2 11cos , sin ωωωωω-=-=''-=',所以0222=+y dx y d ω,故 x C y ωcos 1=为方程的解. (3)y x dx y d x dx dy 2 222sin ,cos ωωωωω-=-==,所以022 2=+y dx y d ω,故x y ωsin =为方程的解. (4)y x C y x C y 2 2 22sin , cos ωωωωω-=-=''=',所以022 2=+y dx y d ω,故x C y ωsin 2=为方程的解. (5)y x C x C y x C x C y 2222121sin cos , cos sin ωωωωωωωωω-=--=''+-=', 所以022 2=+y dx y d ω,故x C x C y ωωsin cos 21+=为方程的解. (6)y B x A y B x A y 2 2 )sin(, )cos(ωωωωω-=+-=''+=',故02 2 2=+y dx y d ω,因此)sin(B x A y +=ω为方程的解. 3.验证下列各函数是相应微分方程的解: (1)x x y sin = ,x y y x cos =+'; (2)212x C y -+=,x xy y x 2)1(2 =+'-(C 是任意常数); (3)x Ce y =,02=+'-''y y y (C 是任意常数); (4)x e y =,x x x e ye y e y 2212-=-+'-; (5)x y sin =,0cos sin sin 22 2 =-+-+'x x x y y y ; (6)x y 1- =,12 22++='xy y x y x ; (7)12 +=x y ,x y x y y 2)1(2 2 ++-=';

常微分方程组的MATLAB求解范例

微分方程求解是系统仿真、数学模型实现以及很多工程问题求解的核心部分,应用MATLAB可以方便地对一阶常微分方程组进行求解,这里将对其基本方法进行介绍。值得注意的是,高阶微分方程组可以通过引进参变量化为一阶常微分方程组,也可以同样方便解决。 若有一个微分方程(组)的参变量为列向量,即,且它参变量随时间变化的微分方程可以有以下方程描述: 这里的f函数是一个列向量,即, i=1,2,3…,n,它可以是任意非线性函数。 则一般微分方程可以如此求解: [t,x]=ode45(f,timespan,x0) 对于刚性方程,即一些解变化缓慢,一些解变化剧烈,且两者相差较为悬殊的这种方程,通常调用ode15s而非o de45进行求解。 例1: 解:编写function或者用匿名函数 表达f=y-2*x/y即可; function dy=f(t,y) dy=y-2*t/y; end 命令: t=[0,1];%y0=1; [x,y]=ode45('f',t,1);%注意 这里的x相当于自变量t plot(x,y,x,sqrt(1+2*x)),legend('数值解','解析解');

可见求解效果不错。 例2、 解:编写function function dx=f(t,x)%返回值是列向量 dx=[-x(2)-x(3); x(1)+0.2*x(2); 0.2+(x(1)-5.7)*x(3)]; end 命令: t=[0,100]; y0=[0 0 0]';%注意是列向量 [x,y]=ode45('f',t,y0); plot(x,y); 例3、 这是一个二阶微分方程组,可以引进变量,由此ODE可以化成如下形式 可以采用和例2相同的方法求解: function dx=f(t,x) dx=[x(2); -(x(1)^2-1)*x(2)-x(1)]; End

专业常微分方程学习活动3 第一章初等积分法的综合练习全解

常微分方程学习活动3 第一章 初等积分法的综合练习 本课程形成性考核综合练习共3次,内容主要分别是第一章初等积分法的综合练习、第二章基本定理的综合练习、第三章和第四章的综合练习,目的是通过综合性练习作业,同学们可以检验自己的学习成果,找出掌握的薄弱知识点,重点复习,争取尽快掌握. 要求:首先请同学们下载作业附件文档并进行填写,文档填写完成后请在本次作业页面中点击“去完成”按钮进入相应网页界面完成任务,然后请将所做完的作业文档以附件的形式上传到课程上,随后老师会在课程中进行评分。 一、填空题 1.微分方程0)(4 3 ='-'+''y y y x y xy 是 二 阶微分方程. 2.初值问题00 d (,) d ()y f x y x y x y ?=???=?的解所满足的积分方程是 0 0(,)d x x y y f s y s =+? . 3.微分方程0d )ln (d ln =-+y y x x y y 是 一阶线性非齐次微分方程 .(就方程可积类型而言) 4.微分方程0d )2e (d e =++y y x x y y 是 全微分方程 .(就方程可积类型而言) 5.微分方程03)(2 2 =+'+''x y y y 是 恰当导数方程 .(就方程可积类型而言) 6.微分方程 y x x y sin d d 2=的所有常数解是 …±±==210k ,, π,k y . 7.微分方程21d d y x y -=的常数解是 1±=y . 8.微分方程x x y y x 122 e -=-'的通解为 )(﹣C x x 1 +=e y . 9.微分方程2)(21 y y x y '+ '=的通解是 22 1C Cx y += .. 10.一阶微分方程的一个特解的图像是 二 维空间上的一条曲线. 二、计算题 1.指出下列方程的阶数,是否是线性方程: (1) 22d d x y x y += 答:一阶,非线性

(整理)常微分方程数值解法

i.常微分方程初值问题数值解法 i.1 常微分方程差分法 考虑常微分方程初值问题:求函数()u t 满足 (,), 0du f t u t T dt =<≤ (i.1a ) 0(0)u u = (i.1b) 其中(,)f t u 是定义在区域G : 0t T ≤≤, u <∞上的函数,0u 和T 是给定的常数。我们假设(,)f t u 对u 满足Lipschitz 条件,即存在常数L 使得 121212(,)(,), [0,]; ,(,)f t u f t u L u u t T u u -≤-?∈∈-∞∞ (i.2) 这一条件保证了(i.1)的解是适定的,即存在,唯一,而且连续依赖于初值0u 。 通常情况下,(i.1)的精确解不可能用简单的解析表达式给出,只能求近似解。本章讨论常微分方程最常用的近似数值解法--差分方法。先来讨论最简单的Euler 法。为此,首先将求解区域[0,]T 离散化为若干个离散点: 0110N N t t t t T -=<<<<=L (i.3) 其中n t hn =,0h >称为步长。 在微积分课程中我们熟知,微商(即导数)是差商的极限。反过来,差商就是微商的近似。在0t t =处,在(i.1a )中用向前差商 10()()u t u t h -代替微商du dt ,便得 10000()()(,())u t u t hf t u t ε=++ 如果忽略误差项0ε,再换个记号,用i u 代替()i u t 便得到 1000(,)u u hf t u -= 一般地,我们有 1Euler (,), 0,1,,1n n n n u u hf t u n N +=+=-L 方法: (i.4) 从(i.1b) 给出的初始值0u 出发,由上式可以依次算出1,,N t t L 上的差分解1,,N u u L 。

一阶常微分方程解法总结

第 一 章 一阶微分方程的解法的小结 ⑴、可分离变量的方程: ①、形如 )()(y g x f dx dy = 当0)(≠y g 时,得到 dx x f y g dy )() (=,两边积分即可得到结果; 当0)(0=ηg 时,则0)(η=x y 也是方程的解。 例、 xy dx dy = 解:当0≠y 时,有 xdx y dy =,两边积分得到)(2ln 2为常数C C x y += 所以)(112 12 C x e C C e C y ±==为非零常数且 0=y 显然是原方程的解; 综上所述,原方程的解为)(12 12 为常数C e C y x = ②、形如0)()()()(=+dy y Q x P dx y N x M 当0)()(≠y N x P 时,可有 dy y N y Q dx x P x M ) () ()()(=,两边积分可得结果; 当0)(0=y N 时,0y y =为原方程的解,当0(0=) x P 时,0x x =为原方程的解。 例、0)1()1(2 2 =-+-dy x y dx y x 解:当0)1)(1(2 2 ≠--y x 时,有 dx x x dy y y 1 122-=-两边积分得到 )0(ln 1ln 1ln 22≠=-+-C C y x ,所以有)0()1)(1(22≠=--C C y x ; 当0)1)(1(2 2 =--y x 时,也是原方程的解; 综上所述,原方程的解为)()1)(1(2 2 为常数C C y x =--。 ⑵可化为变量可分离方程的方程: ①、形如)(x y g dx dy = 解法:令x y u =,则udx xdu dy +=,代入得到)(u g u dx du x =+为变量可分离方程,得到

常微分方程数值解法

第八章 常微分方程的数值解法 一.内容要点 考虑一阶常微分方程初值问题:?????==0 0)() ,(y x y y x f dx dy 微分方程的数值解:设微分方程的解y (x )的存在区间是[a,b ],在[a,b ]内取一系列节 点a= x 0< x 1<…< x n =b ,其中h k =x k+1-x k ;(一般采用等距节点,h=(b-a)/n 称为步长)。在每个节点x k 求解函数y(x)的近似值:y k ≈y(x k ),这样y 0 , y 1 ,...,y n 称为微分方程的数值解。 用数值方法,求得f(x k )的近似值y k ,再用插值或拟合方法就求得y(x)的近似函数。 (一)常微分方程处置问题解得存在唯一性定理 对于常微分方程初值问题:?????==0 0)() ,(y x y y x f dx dy 如果: (1) 在B y y A x x 00≤-≤≤,的矩形内),(y x f 是一个二元连续函数。 (2) ),(y x f 对于y 满足利普希茨条件,即 2121y y L y x f y x f -≤-),(),(则在C x x 0≤≤上方程?????==0 0)() ,(y x y y x f dx dy 的解存在且唯一,这里C=min((A-x 0),x 0+B/L),L 是利普希茨常数。 定义:任何一个一步方法可以写为),,(h y x h y y k k k 1k Φ+=+,其中),,(h y x k k Φ称为算法的增量函数。 收敛性定理:若一步方法满足: (1)是p 解的. (2) 增量函数),,(h y x k k Φ对于y 满足利普希茨条件. (3) 初始值y 0是精确的。则),()()(p h O x y kh y =-kh =x -x 0,也就是有 0x y y lim k x x kh 0h 0 =--=→)( (一)、主要算法 1.局部截断误差 局部截断误差:当y(x k )是精确解时,由y(x k )按照数值方法计算出来的1~ +k y 的误差y (x k+1)- 1~ +k y 称为局部截断误差。 注意:y k+1和1~ +k y 的区别。因而局部截断误差与误差e k +1=y (x k +1) -y k +1不同。 如果局部截断误差是O (h p+1),我们就说该数值方法具有p 阶精度。

matlab常微分方程和常微分方程组的求解

常微分方程和常微分方程组的求解 一、实验目的: 熟悉Matlab 软件中关于求解常微分方程和常微分方程组的各种命令,掌握利用Matlab 软件进行常微分方程和常微分方程组的求解。 二、相关知识 在MATLAB 中,由函数dsolve()解决常微分方程(组)的求解问题,其具体格式如下: X=dsolve(‘eqn1’,’eqn2’,…) 函数dsolve 用来解符号常微分方程、方程组,如果没有初始条件,则求出通解,如果有初始条件,则求出特解。 例1:求解常微分方程1dy dx x y = +的MATLAB 程序为:dsolve('Dy=1/(x+y)','x'), 注意,系统缺省的自变量为t ,因此这里要把自变量写明。 结果为:-lambertw(-C1*exp(-x-1))-x-1 其中:Y=lambertw(X)表示函数关系Y*exp(Y)=X 。 例2:求解常微分方程 2 '''0yy y -=的MATLAB 程序为:Y2=dsolve('y*D2y-Dy^2=0’,’x’) 结果为: Y2 =[ exp((x+C2)/C1)] [ C2] 我们看到有两个解,其中一个是常数。 例3:求常微分方程组253t t dx x y e dt dy x y e dt ?++=??? ?--=??通解的MATLAB 程序为: [X,Y]=dsolve('Dx+5*x+y=exp(t),Dy-x-3*y=exp(2*t)','t') 例4:求常微分方程组020 210cos ,224,0 t t t dx dy x t x dt dt dx dy y e y dt dt =-=?+-==??? ?++==??通解的MATLAB 程序 为:

常微分方程第一章

第一章 一阶微分方程 1.1学习目标: 1. 理解微分方程有关的基本概念, 如微分方程、方程阶数、解、通解、初始条件、初值问题等的定义和提法. 掌握处理微分方程的三种主要方法: 解析方法, 定性方法和数值方法. 2. 掌握变量分离法,用变量替换将某些方程转化为变量分离方程, 掌握一阶线性方程的猜测检验法, 常数变易法和积分因子法, 灵活运用这些方法求解相应方程, 理解和掌握一阶线性方程的通解结构和性质. 3. 能够大致描述给定一阶微分方程的斜率场, 通过给定的斜率场描述方程解的定性性质; 理解和掌握欧拉方法, 能够利用欧拉方法做简单的近似计算. 4. 理解和掌握一阶微分方程初值问题解的存在唯一性定理, 能够利用存在唯一性定理判别方程解的存在性与唯一性并解决与之相关的问题, 了解解对初值的连续相依性和解对初值的连续性定理, 理解适定性的概念. 5. 理解自治方程平衡点, 平衡解, 相线的概念, 能够画出给定自治方程的相线, 判断平衡点类型进而定性分析满足不同初始条件解的渐近行为. 6. 理解和掌握一阶单参数微分方程族的分歧概念, 掌握发生分歧的条件, 理解和掌握各种分歧类型和相应的分歧图解, 能够画出给定单参数微分方程族的分歧图解, 利用分歧图解分析解的渐近行为随参数变化的状况. 7. 掌握在给定的假设条件下, 建立与实际问题相应的常微分方程模型, 并能够灵活运用本章知识进行模型的各种分析. 1.2基本知识: (一) 基本概念 1. 什么是微分方程: 联系着自变量、未知函数及它们的导数(或微分)间的关系式(一般是 指等式),称之为微分方程. 2. 常微分方程和偏微分方程: (1) 如果在微分方程中,自变量的个数只有一个,则称这种微分方程为常微分方程, 例如 )(22t f cy dt dy b dt y d =++, 0)(2=++y dt dy t dt dy . (2) 如果在微分方程中,自变量的个数为两个或两个以上,则称这种微分方程为偏 微分方程. 例如 02 22222=??+??+??z T y T x T , t T x T ??=??422. 本书在不特别指明的情况下, 所说的方程或微分方程均指常微分方程. 3. 微分方程的阶数: 微分方程中出现的未知函数最高阶导数的阶数. 例如,

用matlab求解常微分方程

1 .微分方程的概念未知的函数以及它的某些阶的导数连同自变量都由一已知方程联系在一起的方程称为微分方程。如果未知函数是一元函数,称为常微分方程。常微分方程的一般形式为 如果未知函数是多元函数,成为偏微分方程。联系一些未知函数的一组微分方程组称为微分方程组。微分方程中出现的未知函数的导数的最高阶解数称为微分方程的阶。若方程中未知函数及其各阶导数都是一次的,称为线性常微分方程,一般表示为 若上式中的系数均与无关,称之为常系数。 2 .常微分方程的解析解 有些微分方程可直接通过积分求解.例如,一解常系数常微分方程可化为, 两边积分可得通解为.其中为任意常数.有些常微分方程可用一些技巧,如分离变量法, 积分因子法,常数变异法,降阶法等可化为可积分的方程而求得解析解. 线性常微分方程的解满足叠加原理, 从而他们的求解可归结为求一个特解和相应齐次微分方程的通解. 一阶变系数线性微分方程总可用这一思路求得显式解。高阶线性常系数微分方程可用特征根法求得相应齐次微分方程的基本解,再用常数变异法求特解。 一阶常微分方程与高阶微分方程可以互化,已给一个阶方程设,可将上式化为一阶方程组 反过来,在许多情况下,一阶微分方程组也可化为高阶方程。所以一阶微分方程组与高阶常微分方程的理论与方法在许多方面是相通的,一阶常系数线性微分方程组也可用特征根法求解。 3.微分方程的数值解法 除常系数线性微分方程可用特征根法求解,少数特殊方程可用初等积分法求解外,大部分微分方程无限世界,应用中主要依靠数值解法。考虑一阶常微分方程初值问题 其中所谓数值解法,就是寻求在一系列离散节点上的近似值称为步长,通常取为常量。最简单的数值解法是Euler 法。 Euler 法的思路极其简单:在节点出用差商近似代替导数 这样导出计算公式(称为Euler 格式) 他能求解各种形式的微分方程。Euler 法也称折线法。 Euler 方法只有一阶精度,改进方法有二阶Runge-Kutta 法、四阶Runge-Kutta 法、五阶Runge-Kutta-Felhberg 法和先行多步法等,这些方法可用于解高阶常微分方程(组)初值问题。边值问题采用不同方法,如差分法、有限元法等。数值算法的主要缺点是它缺乏物 理理解。 4 .解微分方程的MATLAB^令

相关文档