精华内容
下载资源
问答
  • 一、多元函数积分 1.二重积分 二重积分的计算一般可化为累次积分计算,如 Matlab中可两次调用int计算,如果是矩形区域,则可调用dblquad来计算. (1)dblquad函数 dblquad 函数用于矩形区域的数值积分, 调用格式为...

    一、多元函数积分
    1.二重积分
    二重积分的计算一般可化为累次积分计算,如
    在这里插入图片描述
    在这里插入图片描述
    Matlab中可两次调用int计算,如果是矩形区域,则可调用dblquad来计算.
    (1)dblquad函数
    dblquad 函数用于矩形区域的数值积分, 调用格式为
    **dblquad(f,a,b,c,d):**f积分函数,a,b,c,d积分限
    (2)int 函数
    int函数计算二重积分是计算两个定积分来实现的,可以用于矩形区域的积分,也可以用于内积分限为函数的积分.
    **int(f,v,y1,y2):**f积分函数,v积分变量,y1,y2积分限,可以是符号函数.
    二、常微分方程求解
    1.微分方程符号求解
    MATLAB符号微分方程求解函数为dsolve,调用格式为
    [y1,y2,…]=dsolve(‘eq1,eq2,…’, ‘cond1,cond2,…’,‘v’)
    [y1,y2,…]=dsolve(‘eq1’,’eq2,…’, ‘cond1’,’cond2’,… ,‘v’)
    其中, y1,y2, …为返回所求符号解的表达式, eq1,eq2,…为微分方程或方程组的表达式, cond1,cond2,…为初始条件, 若无此项则求得的为通解,否则求得特解, v为自变量.
    2.微分方程的数值求解
    MATLAB微分方程数值解法主要有Runge-Kutta法,调用命令格式为
    在这里插入图片描述
    [t,x]=ode23(@f,ts,x0): 3级2阶Runge-Kutta公式
    [t,x]=ode45(@f,ts,x0): 5级4阶Runge-Kutta公式
    ts=[t0,t1,…,tf]: 输出指定时刻t0,t1,…,tf的函数值
    x0为初始值,x为相应点的函数值

    展开全文
  • 【Mark下】三个微分公式三元函数,二阶或者更高阶的微分非线性方程利用Finite Difference Method展开,在利用牛顿迭代的方法,解方程,其下是考虑到电脑无法存储大量举阵情况下的分布解法。如果是N mesh grids,可以...

    【Mark下】三个微分公式三元函数,二阶或者更高阶的微分非线性方程利用Finite Difference Method展开,在利用牛顿迭代的方法,解方程,其下是考虑到电脑无法存储大量举阵情况下的分布解法。如果是N mesh grids,可以想象 系数的jacobian矩阵是非常巨大的,3N*3N,如果电脑内存有限,可以分开解,一次占用一个N*N系数矩阵。

    参考:

    Ref 1. Drift-Diffusion Model: Solution Details, by:Dragica Vasileska

    Ref 2. Numerical Methods for Semiconductor Device Simulation, by Randolph e. bank 

    Ref 3. Newton-Raphson solution of Poisson’s equation in a pn diode, by R. A. Jabr

    展开全文
  • 一阶微分方程的matlab数值解法.doc毕业论文题 目学 院专 业班 级学 生学 号指导教师二〇一七年月日摘 要微分方程的数值解法是近现代数学家和科学家们研究的热点,微分方程的MATLAB数值解法可以帮助我们解决现实生活...

    一阶微分方程的matlab数值解法.doc

    毕业论文

    题 目

    学 院

    专 业

    班 级

    学 生

    学 号

    指导教师

    二〇一七年月日摘 要

    微分方程的数值解法是近现代数学家和科学家们研究的热点,微分方程的MATLAB数值解法可以帮助我们解决现实生活中的许多数学问题,提高计算机帮助我们解决问题的效率。本文主要讨论研究一阶微分方程的MATLAB数值解法中的三种Euler法和三种Runge-KuttaMATLAB的相关内容和微分方程的发展简史。通过具体的微分方程来研究以上算法的编程实现,通过MATBLAB求解具体的一阶微分方程来探究以上方法的优缺点,通过图表来分析得出结论:改进Euler法和四阶Runge-Kutta法的阶的精度较高,具有较好的算法稳定性。

    关键词:一阶微分方程;数值解法;MATLAB;Euler法;Runge-Kutta法

    ABSTRACT

    The numerical solution of differential equations is a hot spot for modern mathematicians and scientists, the MATLAB numerical solution of the differential equation can help us solve many mathematical problems in real life, improve the efficiency of the computer to help us solve the problem. This paper mainly discusses three kinds of Euler methods and three Runge-Kutta methods in MATLAB numerical solution of first order differential equation, introduce the main contents of the above six methods, a brief introduction to the development of MATLAB related content and differential equations of a brief history. The programming of the above algorithm is studied by the concrete differential equation, he advantages and disadvantages of the above methods are explored through MATBLAB solving the specific first-order differential equation, through the chart to analyze the conclusions: The improved Euler method and the fourth order Runge-Kutta method have higher accuracy,has good algorithm stability.

    Key words:First Order Differential Equation; Numerical Solution; MATLAB; Euler Method; Runge-Kutta Method

    目 录

    摘要I

    ABSTRACTII

    1 前言11.1 引言1

    1.22

    1.3 国内外研究现状2

    1.4 研究主要内容及研究方案3

    1.4.1 研究的主要内容3

    1.4.2 研究方案3

    1.5 研究难点

    2 预备知识

    2.1 显式Euler法4

    2.2 隐式Euler法5

    2.3 改进Euler法5

    2.4 二阶Runge-Kutta法6

    2.5 三阶Runge-Kutta法7

    2.6 四阶Runge-Kutta法7

    2.7 单步法的收敛性和稳定性9

    3 微分方程数值解法的编程实现11

    3.1 常微分方程的符号解法11

    3.2 显式Euler法的编程实现12

    3.3 隐式Euler法的编程实现14

    3.4 改进Euler法的编程实现17

    3.5 二阶Runge-Kutta法的编程实现20

    3.6 三阶Run

    展开全文
  • 求解一组机构运动仿真多元方程组。想用Matlab,有没有好同学帮编下代码。
  • 微分方程 指描述未知函数的导数与自变 量之间的关系的方程未知函数是一元函 数的微分方程称作 常微分方程 未知函数 是多元函数的微分方程称作 偏微分方程 MATLAB matrix&laboratory 意为矩 阵工厂矩阵实验室 ....
  • 1. 引言 2. 准备知识 3. 常系数齐次线性微分方程和欧拉方程 3.1 常系数齐次线性微分方程的解 3.2 Euler方程 4. 非齐次线性微分方程(比较系数法) ...在文献[1]的4.2节,详细介绍了常系数线性微分方程解法,对...

    1. 引言

      本文主要讲常系数线性微分方程的特征值法做了总结。在文献[1]的4.2节,详细介绍了常系数线性微分方程的解法,对特征方程根的各种情况(实根或复根&根的重数)进行分类讲解,但由于分类过于仔细,使得读者对根的情况的记忆比较困难,本文致力于将特征根的各种情形统一处理,便于对微分方程解进行记忆.

    2. 准备知识

      本节所有的研究都是围绕着方程

    dnxdtn+a1(t)dn1xdtn1++an1(t)dxdt+an(t)x=f(x)(1) d n x d t n + a 1 ( t ) d n − 1 x d t n − 1 + ⋯ + a n − 1 ( t ) d x d t + a n ( t ) x = f ( x ) ( 1 )

    进行的.其中 ai(t)(i=1,2,,n) a i ( t ) ( i = 1 , 2 , ⋯ , n ) f(t) f ( t ) 都是区间 [a,b] [ a , b ] 上的连续函数.
    如果{} f(t)0 f ( t ) ≡ 0 ,则方程(1)变为
    dnxdtn+a1(t)dn1xdtn1++an1(t)dxdt+an(t)x=0(2)(5) (5) d n x d t n + a 1 ( t ) d n − 1 x d t n − 1 + ⋯ + a n − 1 ( t ) d x d t + a n ( t ) x = 0 ( 2 )

    K=α+ K = α + i β β 是任意复数,这里 α,β α , β 是实数, t t 为实变量,那么有
    (6)eKt=e(α+iβ)t=eαt(cosβt+isinβt)(3)

    此公式可通过泰勒展开进行验证.
       定理1.1 如果方程(2)中所有系数 ai(t)(i=1,2,,n) a i ( t ) ( i = 1 , 2 , ⋯ , n ) 都是实值函数,而 x=z(t)=φ(t)+iψ(t) x = z ( t ) = φ ( t ) + i ψ ( t ) 是方程的复值解,则 z(t) z ( t ) 的实部 φ(t) φ ( t ) ,虚部 ψ(t) ψ ( t ) 和共轭复数 z¯¯¯(t) z ¯ ( t ) 也都是方程(2)的解.
       定理1.2若方程
    dnxdtn+a1(t)dn1xdtn1++an1(t)dxdt+an(t)x=u(t)+iv(t) d n x d t n + a 1 ( t ) d n − 1 x d t n − 1 + ⋯ + a n − 1 ( t ) d x d t + a n ( t ) x = u ( t ) + i v ( t )

    有复值解 x=U(t)+iV(t) x = U ( t ) + i V ( t ) ,这里 ai(t)(i=1,2,,n) a i ( t ) ( i = 1 , 2 , ⋯ , n ) U(t),V(t) U ( t ) , V ( t ) 都是实函数,那么这个解的实部 U(t) U ( t ) 和虚部 V(t) V ( t ) 分别是方程
    dnxdtn+a1(t)dn1xdtn1++an1(t)dxdt+an(t)x=u(t) d n x d t n + a 1 ( t ) d n − 1 x d t n − 1 + ⋯ + a n − 1 ( t ) d x d t + a n ( t ) x = u ( t )


    dnxdtn+a1(t)dn1xdtn1++an1(t)dxdt+an(t)x=v(t) d n x d t n + a 1 ( t ) d n − 1 x d t n − 1 + ⋯ + a n − 1 ( t ) d x d t + a n ( t ) x = v ( t )

    的解.
      注:上面两个定理保证了下述内容的正确性. 定理1.1和定理1.2均来自文献[1].

    3. 常系数齐次线性微分方程和欧拉方程

    3.1 常系数齐次线性微分方程的解

      设齐次线性微分方程中所有系数都是常数,即方程有如下形状

    L[x]dnxdtn+a1dn1xdtn1++an1dxdt+anx=0(4)(7) (7) L [ x ] ≡ d n x d t n + a 1 d n − 1 x d t n − 1 + ⋯ + a n − 1 d x d t + a n x = 0 ( 4 )

    其中 a1,a2,,an a 1 , a 2 , ⋯ , a n 为常数.
      按照前面的理论,为了求方程(4)的通解,只需求其基本解组.回顾一阶常系数齐次微分方程
    dxdt+ax=0 d x d t + a x = 0

    已知,它有形如 x=eat x = e − a t 的解,且其通解就是 x=ceat x = c e − a t .这就启发我们对方程(3)也去试求指数函数形式的解
    x=eλt(5)(8) (8) x = e λ t ( 5 )

    其中 λ λ 是待定常数,可以是实数,也可以是复数.
      注意到
    L[eλt]=dneλtdtn+a1dn1eλtdtn1++an1deλtdt+aneλt=(λn+a1λn1++an1+an)eλtF(λ)eλt L [ e λ t ] = d n e λ t d t n + a 1 d n − 1 e λ t d t n − 1 + ⋯ + a n − 1 d e λ t d t + a n e λ t = ( λ n + a 1 λ n − 1 + ⋯ + a n − 1 + a n ) e λ t ≡ F ( λ ) e λ t

    其中 F(λ)=λn+a1λn1++an1+an F ( λ ) = λ n + a 1 λ n − 1 + ⋯ + a n − 1 + a n ,是 λ λ n n 次多项式.式(5)为方程(4)的解的充要条件是 λ 是代数方程
    F(λ)=λn+a1λn1++an1+an=0(6)(9) (9) F ( λ ) = λ n + a 1 λ n − 1 + ⋯ + a n − 1 + a n = 0 ( 6 )

    的根.称(6)为方程(4)的特征方程,它的根就称为特征根.
      设方程(4)的某一特征根为 λ(k λ ( k 重, k1) k ⩾ 1 ) ,则 k k 重特征根λ 对应于方程(4)的 k k 个线性无关解为
    eλt,teλt,t2eλt,,tkeλt.

    λ λ 为复数时,只需用欧拉公式(3)转化,可得到 2k 2 k 个解,而 λ λ 的共轭 λ¯¯¯ λ ¯ 用此办法转化时,也得到相同的 2k 2 k 个解,这与 λ λ λ¯¯¯ λ ¯ 对应 2k 2 k 个解的事实相符.

    3.2 Euler方程

      形如

    xndnydxn+a1xn1dn1ydxn1++an1xdydx+any=0(7)(10) (10) x n d n y d x n + a 1 x n − 1 d n − 1 y d x n − 1 + ⋯ + a n − 1 x d y d x + a n y = 0 ( 7 )

    的方程称为欧拉方程,这里 a1,a2,,an a 1 , a 2 , ⋯ , a n 为常数.以 y=xk y = x k 代入(7),并约去因子 xk x k ,就得到用来确定 k k 的代数方程
    (11)k(k1)(kn+1)+a1k(k1)(kn+2)++an=0(8)

    因此,方程(8)的 m m 重根k0 对应于方程(7)的 m m 个解为
    xk0,xk0ln|x|,xk0ln2|x|,,xk0lnm1|x|.

    当为复数时,只需使用欧拉公式转换即可.

    4. 非齐次线性微分方程(比较系数法)

      下面讨论常系数非齐次线性微分方程

    L[x]dnxdtn+a1dn1xdtn1++an1dxdt+anx=f(t)(9)(12) (12) L [ x ] ≡ d n x d t n + a 1 d n − 1 x d t n − 1 + ⋯ + a n − 1 d x d t + a n x = f ( t ) ( 9 )

    的解.这里 a1,a2,,an a 1 , a 2 , ⋯ , a n 是常数, f(t) f ( t ) 是连续函数.

    4.1 形式 I

      设 f(t)=(b0tm+b1tm1++bm1t+bm)eλt f ( t ) = ( b 0 t m + b 1 t m − 1 + ⋯ + b m − 1 t + b m ) e λ t ,其中 λ λ bi(i=1,2,,n) b i ( i = 1 , 2 , ⋯ , n ) 为实常数.则方程(9)有形如

    x~=tk(B0tm+B1tm1++Bm1t+Bm)eλt(10)(13) (13) x ~ = t k ( B 0 t m + B 1 t m − 1 + ⋯ + B m − 1 t + B m ) e λ t ( 10 )

    的特解.其中 k k 为特征方程F(λ)=0 的根 λ λ 的重数( λ λ 不是特征根时认为是 0 0 重).而B0,B1,,Bm 是待定常数,只需将 x~ x ~ 代入原方程,比较对应项的系数即可计算出 B0,B1,,Bm B 0 , B 1 , ⋯ , B m ,也即求出了方程(9)的特解.

    4.2 形式 II

      设 f(t)=[A(t)cosβt+B(t)sinβt]eαt f ( t ) = [ A ( t ) cos ⁡ β t + B ( t ) sin ⁡ β t ] e α t .其中 α,β α , β 为常数,而 A(t),B(t) A ( t ) , B ( t ) 是关于 t t 的实系数多项式,A(t) B(t) B ( t ) 的次数为 m m .则方程(9)有形如

    (14)x~=tk[P(t)cosβt+Q(t)sinβt]eαt(11)

    的特解.这里 k k 是为特征方程F(λ)=0 的根 α+iβ α + i β 的重数,而 P(t),Q(t) P ( t ) , Q ( t ) 均为待定的带实系数的次数不超过 m m t 的多形式,将(11)代回(9),通过比较对应项的系数即可求出 P(t),Q(t) P ( t ) , Q ( t ) ,也即求出了方程(9)的特解.

    4.3 Euler方程的另一种解法

      可用变换 x=et(t=lnx) x = e t ( 即 t = ln ⁡ x ) 将Euler方程(7)转化为前述的非齐次线性微分方程,即可求解.

    参考文献

    [1] 王高雄等. 常微分方程(第三版)[M]. 北京: 高等教育出版社, 2006.

    展开全文
  • Matlab求解微分方程(组)及偏微分方程(组)
  • matlab常微分方程数值求解

    千次阅读 2020-09-01 21:08:13
    首先,凡含有参数,未知函数和未知函数导数 (或微分) 的方程,称为微分方程,有时简称为方程,未知函数是一元函数的微分方程称作常微分方程,未知函数是多元函数的微分方程称作偏微分方程微分方程中出现的未知函数...
  • 实验六 用matlab 求解微分方程1.微分方程的概念未知的函数以及它的某些阶的导数连同自变量都由一已知方程联系在一起的方程称为微分方程。如果未知函数是一元函数,称为常微分方程。常微分方程的一般形式为0),,",'...
  • 微分方程总结包括微分方程一般类型和典型方程、方程解法与例题
  • 原问题为利用ode45求解下面微分方程:初值为可以转为二阶微分方程利用Matlab求解,下面为源代码functionMyode45tspan = [2,4]; %求解区间y0 = [1 0]; %y0的初值形式为行向量[t,x] = ode45(@odefun,tspan,y0); %使用...
  • matlab求解微分方程

    千次阅读 2020-03-30 00:51:14
    matlab求解微分方程 1.解析解 dsolve 函数 dsolve函数用于求常微分方程组的精确解,也称为常微分方程的符号解。如果没有初始条件或边界条件,则求出通解;如果有,则求出特解。 1)函数格式 Y = dsolve(‘eq1,eq2,…...
  • 博主在这段时间将不断更新有限差分法在偏微分方程中的应用,并以python为工具讲解三类偏微分方程的有限差分法实现。 直通链接: ... 未完待续 有限差分法的引入与介绍 ========== 微分方程(model)是描述现实...
  • 微分方程和偏微分方程的区别

    千次阅读 2019-12-30 10:11:45
    凡含有参数,未知函数和未知函数导数 (或微分) 的方程,称为微分方程,有时简称为方程,未知函数是一元函数的微分方程称作常微分方程,未知数是多元函数的微分方程称作偏微分方程.微分方程中出现的未知函数最高阶导数的...
  • 这里分别介绍怎么利用sympy.dsolve求解微分方程和常微分方程组。#首先利用sympy.dsolve求解单个的常微分方程:#代码from sympy import Function, dsolve, Derivative, symbolsfrom sympy.abc importt#sympy.abc...
  • 本资源涵盖解多元方程组、非线性方程和常微分方程的软件组合,介绍如下: 线性方程组的数值解法: 线性方程组亦即多元一次方程组。在自然科学与工程技术中,很多问题的解决常常归结为解线性方程组,如电学中的网络...
  • python求解微分方程

    2020-04-23 19:33:53
    python求解微分方程,画图,容易修改。
  • x,y,z为位移,一阶导为速度,二阶导为加速度,m,F,c和两个角度为常数,用MATLAB求解微分方程组,![求程序e](e\1.png)
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 想明白普适解法的话随便找本微分方程的教材看看主楼的是最基本的齐次线性微分方程组了如果只是打算求解这个方程组的话扔到Mathematica里面几秒就出结果M = ( {{0, 0, -1, 0},{0, 0, 0, -5},{-1, 1, 0, 0},{1, -3, 0,...
  • 微分方程

    2020-06-27 16:36:26
    微分方程: 未知函数是多元函数的微分方程 微分方程的阶: 微分方程中所出现的未知函数的最高阶导数的阶数 微分方程的解: 使方程成为恒等式的函数 通解: 解中所含独立的任意常数的个数与方程的阶数相同 特解: ...
  • 微分方程的数值求解

    万次阅读 2018-04-13 11:59:32
    凡含有参数,未知函数和未知函数导数 (或微分) 的方程,称为微分方程,有时简称为方程,未知函数是一元函数的微分方程称作常微分方程,未知函数是多元函数的微分方程称作偏微分方程。 一阶常微分方程的初值问题是: ...
  • 有限差分法求解微分方程

    万次阅读 多人点赞 2016-11-06 14:23:03
    只含有未知多元函数及其偏导数的方程,称之为偏微分方程。偏微分方程在工程技术(甚至图像处理)中有重要应用。差分方法又称为有限差分方法或网格法,是求偏微分方程定解问题的数值解中应用最广泛的方法之一。本文...
  • 大三时候在跳蚤市场闲逛,从一位数学院的学长那里买了一些闲书,最近翻出来刚好有李荣华、刘播老师的《微分方程数值解法》和王仁宏老师的《数值逼近》,结合周善贵老师的《计算物理》课程,整理一下笔记。...
  • 形如X′=AX+bX'=AX+bX′=AX+b的矩阵微分方程目前在scipy中是没有接口直接处理的,需要自己手动转换一下格式,但对应这种格式MATLAB的ode求解器是支持直接求解的。 本文基于...
  • Matlab学习——求解微分方程(组)

    万次阅读 多人点赞 2018-05-29 17:18:58
    函数 dsolve 用来解决常微分方程(组)的求解问题,调用格式为 X=dsolve(‘eqn1’,’eqn2’,…) 如果没有初始条件,则求出通解,如果有初始条件,则求出特解 系统缺省的自变量为 t。 2.函数d...
  • 大连圣亚海洋世界官网-2021年2月7日发(作者:转身之后还是你)用Matlab求常微分方程<br>(ODE)的初值问题(IVP)本节考虑一阶常微分方程uf(t,u<br>)t0tTu(t)u0</p>0(1.1)的数值求解...
  • 从写完上一篇常微分方程求解到现在已经很长时间了,这周也一直忙于报到的各种事宜,无暇坐下来写些东西,趁着这个周末,终于完成了这个姊妹篇。对于偏微分方程求解,Matlab提供了两种工具。第一种是pdepe()函数...
  • 六、符号微分方程求解 函数dsolve用来求常微分方程的符号解。 在方程中用D表示一次微分,用D2、D3分别表示二次、三次微分运算。 D2y表示  r=dsolve('eq1,eq2,...','cond1,cond2,...','v'):求由eq1,eq...
  • Matlab求解微分方程

    万次阅读 多人点赞 2017-04-26 16:55:58
    (1)求解普通微分方程组:使用ode45方法 1. 创建一个函数文件eq2.m,在函数文件中描述这个解的微分方程组: %eq2.m文件 %描述微分方程组 function dy=eq2(t,y) %说明微分变量是二维的,令y(1)=x,y(2)=y ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,496
精华内容 998
关键字:

多元微分方程求解