精华内容
下载资源
问答
  • matlab 常微分方程数值解法 源程序代码所属分类:其他开发工具:matlab文件大小:16KB下载次数:41上传日期:2019-02-13 11:03:29上 传 者:XWLYF说明:11.1 Euler方法 38011.1.1 Euler公式的推导 38011.1.2 Euler...

    matlab 常微分方程数值解法 源程序代码

    所属分类:其他

    开发工具:matlab

    文件大小:16KB

    下载次数:41

    上传日期:2019-02-13 11:03:29

    上 传 者:XWLYF

    说明:  11.1 Euler方法 380

    11.1.1 Euler公式的推导 380

    11.1.2 Euler方法的改进 383

    11.2 Runge-Kutta方法 385

    11.2.1 二阶Runge-Kutta方法 385

    11.2.2 三阶Runge-Kutta方法 388

    11.2.3 四阶Runge-Kutta方法 390

    11.2.4 隐式Runge-Kutta方法 391

    11.3 线性多步法 392

    11.3.1 Adams外推公式 392

    11.3.2 Adams内插公式 394

    11.3.3 Adams预测校正公式 395

    11.4 微分方程组的数值解 397

    11.4.1 Euler方法 397

    11.4.2 经典四阶Runge-Kutta方法 398

    11.4.3 高阶方程组的求解 399

    11.5 刚性方程组的数值解 401

    11.5.1 梯形公式 401

    11.5.2 隐式Runge-Kutta方法 402

    11.5.3 Adams隐式公式 403

    11.6 边值问题的数值解 405

    11.6.1 打靶法 405

    11.6.2 差分法 409

    11.7 MATLAB自带函数应用 411

    11.7.1 ode系列函数 411

    11.7.2 bvp系列函数 414

    11.8 应用案例 416

    (numerical methods for ordinary differential equations)

    文件列表:[举报垃圾]

    CH11, 0 , 2019-02-13

    CH11\adamscoef.m, 395 , 2017-05-20

    CH11\addallnum.m, 63 , 2017-02-27

    CH11\addrownum.m, 898 , 2017-02-14

    CH11\dpendulum.m, 3386 , 2017-05-20

    CH11\euler_trape.m, 815 , 2017-05-20

    CH11\example11_9.m, 405 , 2017-05-20

    CH11\lindiff.m, 795 , 2017-05-20

    CH11\linsht.m, 604 , 2017-05-20

    CH11\nlinsht.m, 628 , 2017-05-20

    CH11\odes_AM.m, 1025 , 2017-05-20

    CH11\odes_euler.m, 512 , 2017-05-20

    CH11\odes_imrk4.m, 1037 , 2017-05-20

    CH11\odes_rk4.m, 767 , 2017-05-20

    CH11\odes_trape.m, 796 , 2017-05-20

    CH11\ode_AB.m, 888 , 2017-05-20

    CH11\ode_ABM.m, 1083 , 2017-05-20

    CH11\ode_AM.m, 1251 , 2017-05-20

    CH11\ode_euler.m, 543 , 2017-05-20

    CH11\ode_imeuler.m, 778 , 2017-05-20

    CH11\ode_imrk4.m, 1070 , 2017-05-20

    CH11\ode_rk2.m, 716 , 2017-05-20

    CH11\ode_rk3.m, 994 , 2017-05-20

    CH11\ode_rk4.m, 771 , 2017-05-20

    CH11\spendulum.m, 1666 , 2017-05-20

    近期下载者:

    相关文件:

    收藏者:

    展开全文
  • 二阶微分方程数学ME373-书 该存储库包含由教授的“ ME 373,机械工程方法”课程的电子教科书。 该课程的目录描述为 解决代表性机械工程问题的解析和数值方法。 课程学习目标是: 在本课程结束时,学生将能够: 用...
  • MATLAB 求解微分方程x=dsolve('Dx=r*(1-x/xm)*x','x(0)=x0','t')x=xm/(1+exp(-r*t)*(xm-x0)/x0)用matlab求解这个微分方程:dx/dt=36.86+xx=dsolve('Dx=36.86+x')x=-1843/50+exp(t)*C1单摆微分方程求解:x''+(g/l)sin...

    MATLAB 求解微分方程

    x=dsolve('Dx=r*(1-x/xm)*x','x(0)=x0','t')x=xm/(1+exp(-r*t)*(xm-x0)/x0)

    用matlab求解这个微分方程:dx/dt=36.86+x

    x=dsolve('Dx=36.86+x')x=-1843/50+exp(t)*C1

    单摆微分方程求解:x''+(g/l)sin(x)=0,用Matlab求解,

    1.这段程序基本没有什么错误,只是在最后调用ode45求解时候,格式有点错误,修改一下就能运行了:[t,x]=ode45(@Pendel_DGL,[0,4],[pi/2,0])2. 在编程时

    MATLAB 求解微分方程数值解

    结果:代码:clearallclcf=@(x,y)([y(2);   0.357*y(1)-0.1905*y(1)*y(2)]);[x,Y]=ode45(f,[0100]

    求解二阶微分方程

    ∵齐次方程y''-6y'+9y=0的特征方程是r²-6r+9=0,则r=3(二重根)∴此齐次方程的通解是y=(C1x+C2)e^(3x)(C1,C2是积分常数)∵设原方程的解为y=(Ax

    用Matlab编程求解 二阶微分方程:4*d^2y(t)/dt^2+y(t)=dx(t)/d(t)-0.5x(t)

    MATLAB提供了dsolve命令可以用于对符号常微分方程进行求解.语法:dsolve(‘eq’,’con’,’v’)%求解微分方程dsolve(‘eq1,eq2…’,’con1,con2…’,’v1

    利用MATLAB求解微分方程初值问题

    朋友,要根据初值积分对dM/dt积分求得M,才能求解M(t)=0或t(M)=0.solver(积分函数,积分时间,初值,设置)也是这样的数学方法.[时间,解]=solver(积分函数,积分时间,初值)

    matlab求解微分方程并画图

    symstv=dsolve('Dv=(190.708-90.64*v^2)/47.27','v(0)=0','t');t=0:0.00001:0.002;v=eval(v);plot(t,v)使用这样

    MATLAB 求解微分方程的错误

    看了看,运行了一下确实出问题 原因是在用ode数值求解时,x并不是1:0.01:3均匀分散的 解决方法:1.在画解析解和欧拉解时横轴用x的转置;在画数值解时横轴用x,已运行成功2.

    matlab求解微分方程的问题

    我运行的>>symsaknNzz1>>z=dsolve('Dx=a*x*(N-x)','t')z1=dsolve('Dx=a*x*(n-x)','t')结果:z=N0N/(exp(-N*(C3+a*t

    matlab ode45 求解二阶常微分方程

    functiontest()[t,y]=ode45(@func1,[0,1],[0;0;1;2;2;2]);figure(1);clf;plot(t,y);legend('x','y','z','dx

    matlab里的ode45求解二阶微分方程问题!

    新的matlab版本好像不鼓励采用global了.你的全局变量有点多了,哈哈.简单例子:m=2;[t,y]=ode45(@(t,x)f1(t,x,m),[0,10],[2])functiondy=f1

    matlab怎么求解偏微分方程

    Matlab偏微分方程工具箱应用简介1.概述本文只给出该工具箱的函数列表,读者应先具备偏微分方程的基本知识,然后根据本文列出的函数查阅Matlab的帮助,便可掌握该工具箱的使用.2.偏微分方程算法函数

    matlab 求解一阶偏微分方程

    i是虚数单位?那个1/3γ(u*v)中*是什么符号

    用matlab求解二阶微分方程数值解,程序出现错误,求大神指点

    1、把G=1/3*((5*Pp-2*P1)/(P1-2*Pp)-P1*c1^2/Pp*cp^2);改成G=1/3*((5*Pp-2*P1)/(P1+2*Pp)-P1*c1^2/(Pp*cp^2));表

    matlab 矩阵微分方程求解

    最常用的就是广义特征向量基础矩阵解方法.你要一个思路,我给一个2维情况的例子,其中特解x(t0)=x0的理解和如何使用都有,你看看是否够用.. Matlab下二维的例子:再问:嗯,这个不错,

    用MATLAB求解9阶微分方程用什么函数可以

    不管多少阶都可以用ode45,注意把高阶化成一阶即可,比如一个9阶微分方程可化为9个一阶方程,具体方法可网上找,很简单的

    matlab数值解法求解二阶微分方程 ODE45函数

    因为你x=0时2/x是无穷大呀,然后y'又是0,然后(2/x)y'就是nan了,所以后面算的全是nan了.

    用matlab方程求解微分方程

    y=dsolve('2000*Dy-(0.08-y*0.08)','y(0)=0','t')y=1-exp(-1/25000*t)即:C(t)=1-exp(-1/25000*t)

    展开全文
  • 微分方程数值解法 图1 图2 图3 图4 微分方程计算的相平面图 求解的时域图 在求解上面的微分方程的时候,使用的方法是 公式 。具体求解过程可以参考MATLAB的帮助文档和参考书 [4]。 带阻尼的单摆 下面来看看带阻尼的...

    引子[1]

    单摆,这个在中学物理都学过的东西,应该是非常熟悉了。

    29db2e7e6a3bae6c1915f87260ac8a25.gif
    图片来源-维基百科

    小角度简单摆

    若最高处(

    )的绳子和最低处(速度最大值)的绳子的角度为
    ,则可使用下列公式算出它的振动周期。

    公式证明

    7cd9d85de85ee0c9139ca9354b7b0b88.png
    摆球受力分析

    绳与对称线夹角为

    ,绳长为
    ,绳距离对称线的水平距离为
    。对于处在某一点的小球进行受力分析,小球受到的力只有重力和拉力。

    ,这个力指向平衡位置,称为回复力。

    由于

    很小,所以有近似
    ,所以有下列成立

    ,令

    下面推导弹簧的周期公式(如果知道直接跳过)

    71efe2883efeada8e8145ba0711616da.gif
    弹簧简谐振动

    设弹簧的弹性系数为

    ,弹簧距离平衡点的距离为
    ,对于简谐振动的弹簧,有

    ,将其与上式联立,有

    ,根据三角函数的周期公式,有

    回到单摆的话题上来

    刚刚推导的回复力

    ,代入公式弹簧的周期公式,得到

    这是中学时候的单摆公式的推导,看得出,主要是由于条件

    这个条件限制产生的
    所导致的,下面来看看一般情况下的单摆,也就是任意条件的

    一般情况下的单摆

    b1b8f8a7bddb11ca83fd7dfae6d393c5.png

    设与对称线的夹角为

    ,绳子的长度为
    ,球的角加速度为
    ,忽略空气阻力由受力分析,根据牛顿第二运动定理,有
    。根据角加速度和(线)加速度之间的关系
    [2],有下列微分方程成立

    (右边取负号是因为回复力的方向)

    27e2860c57b0419d0540b940c49f99cd.gif
    图片来源-百度百科

    如果

    ,根据Taylor展开式,
    ,,所以对于充分小的
    ,有
    ,使用Taylor展开来理解和使用极限来理解是一样的。

    求解特殊情况,微分方程

    ,这是一个二阶常系数齐次微分方程,

    1.猜测解法

    移项

    ,从这个等式可以看出,函数
    经过两次微分之后,除了除了系数及其前面的±号改变了,本身并没有发生其他改变,对于微分之后本身还不变的函数,很容易想到余弦函数,令
    ,其中
    为常数。

    ,求二阶导,代入微分方程,
    ,即

    周期为

    ,跟前面一致。

    2.公式解法

    微分方程

    ,形如
    ,存在通用解法。

    特征方程为

    ,这是一对共轭复根:对复数
    。根为
    , 通解为
    ,即

    ,由于
    ,那么肯定有
    ,可以化为

    根据上面的结果,也可轻松知道周期为

    求解一般情况,微分方程

    能量守恒视角看待问题

    这个方程求解比较麻烦,下面换个思路,通过能量守恒的方式来看这个问题。该系统的自由度为

    ,使用广义坐标
    来描述
    [3]。设系统动能为
    ,系统势能为
    ,小球质量为
    ,绳长
    ,不计绳质量。取摆点最低处为零势能点。

    从上式计算角速度

    从这个式子里面可以看到,

    都是常数,是因变量角速度
    与自变量角度
    的函数关系。下面来讨论一下这个式子,令

    得到式子为

    34ab6219d4c7691a557454c2213232d5.png
    角度和角速度之间的关系,图标对应的是不同的e的值

    上图研究了角度与角速度之间的关系,这样的图叫做相平面图。从上面图可以看出

    由于能量不足,摆仅做平衡位置附近的周期运动。

    是一种临界状态,相当于摆锤摆到最高位置的过程。

    能量过大,而使摆角的绝对值随时间之增加而无限增加,对应于摆绕支点无穷次旋转的运动过程。

    微分方程数值解法

    • 图1
    • 图2
    • 图3
    • 图4

    a87f0f6213e509560c949ae80501659a.png
    微分方程计算的相平面图

    87565a9b2652d8982d20472f5e445511.png
    求解的时域图

    在求解上面的微分方程的时候,使用的方法是

    公式 。具体求解过程可以参考MATLAB的帮助文档和参考书
    [4]

    带阻尼的单摆

    下面来看看带阻尼的单摆是怎么使用的其实在求解上面的代码里面就已经加入空气阻力一项了,只不过将其值设为了0,下面来看看改变这个值会发生什么。一般来说,空气阻力公式为

    这里设

    为阻尼因子。

    那么上面的微分方程变为

    跟上面一样将,使用

    求解。

    时域图

    0193f991876940842fadc54de5f7312f.png
    时间T=50s,阻力系数μ=0.1

    2c604ff8f35151a228ec8c358d28e3ca.png
    时间T=50s,阻力系数μ=0.5

    2fac3d16eab613ace1713d4146d190e5.png
    时间T=50s,阻力系数μ=0.8

    相平面图

    7958bdca07cb2b98b16ef30154163807.png
    时间T=500s,阻力系数μ=0.1

    531c5b4f3ae337abcefba148b27d2a7b.png
    时间T=50s,阻力系数μ=0.1

    2db2f7b024c243e290641df0becb1934.png
    时间T=50s,阻力系数μ=0.5

    7e4eb5a0b3fff7da236fade6eda60c19.png
    时间T=50s,阻力系数μ=0.8

    从上面这些图来看,加入空气阻力之后确实是一种带阻尼的震动图像的样子。并且阻尼越大,能量耗散的也越快。


    最后,其实要说的是,强烈推荐这个视频。其实前面所有讨论的东西都在下面的几张图里面了,可以回味回味。

    7d8333fdad28d242118d0880fc792a58.png

    2901db506406e3410563730d21739980.png

    70b6239da7c186a7f00f412aa8baf1a1.png

    代码

    隐函数画图代码

    for i=0:0.2:2
    e = 1+i;
    f = @(theta,theta_bar) theta_bar^2-cos(theta)-e+1;
    fimplicit(f);legend(['e=',num2str(e)]);hold on;
    end
    xlabel('角度theta');ylabel('角速度omega');title('相平面图');
    labels=num2cell(1:0.2:3);
    labels = cellfun(@num2str,labels,'UniformOutput',false);
    legend(labels);plotset;
    print('推导函数相平面图','-dpng');

    微分方程数值解代码

    subplot_er(2,2,1)
    [t,y] = ode45(@solve,[0,50],[pi/4,0]);
    plot(y(:,1),y(:,2));
    xlabel('theta');ylabel('omega');plotset;axis equal;
    legend('theta_0=pi/4,omega_0=0');
    subplot_er(2,2,2)
    [t,y] = ode45(@solve,[0,50],[pi/2,0]);
    plot(y(:,1),y(:,2));
    xlabel('theta');ylabel('omega');plotset;axis equal;
    legend('theta_0=pi/2,omega_0=0');
    subplot_er(2,2,3)
    [t,y] = ode45(@solve,[0,50],[pi,1]);
    plot(y(:,1),y(:,2));
    xlabel('theta');ylabel('omega');plotset;axis equal;
    legend('theta_0=pi/2,omega_0=1');
    subplot_er(2,2,4)
    [t,y] = ode45(@solve,[0,50],[2*pi,2]);
    plot(y(:,1),y(:,2));
    xlabel('theta');ylabel('omega');plotset;axis equal;
    legend('theta_0=2pi,omega_0=2');
    suptitle('时间T=50s');
    function dydt=solve(t,y)
    g = 9.8;l=2*g;mu=0;
    dydt = [y(2);-mu*y(2)-g/l*sin(y(1))];
    end
    

    求解的时域图

    subplot_er(2,2,1)
    [t,y] = ode45(@solve,[0,50],[pi/4,0]);
    plot(t,y(:,1),'-o',t,y(:,2),'-o');
    title('单摆数值解法');xlabel('Time t');ylabel('Solution y');
    legend('theta=pi/4','omega=0');
    subplot_er(2,2,2)
    [t,y] = ode45(@solve,[0,50],[pi/2,0]);
    plot(t,y(:,1),'-o',t,y(:,2),'-o');
    title('单摆数值解法');xlabel('Time t');ylabel('Solution y');
    legend('theta=pi/2','omega=0');
    subplot_er(2,2,3)
    [t,y] = ode45(@solve,[0,50],[pi/2,1]);
    plot(t,y(:,1),'-o',t,y(:,2),'-o');
    title('单摆数值解法');xlabel('Time t');ylabel('Solution y');
    legend('theta=pi/2','omega=1');
    subplot_er(2,2,4)
    [t,y] = ode45(@solve,[0,50],[pi/2,2]);
    plot(t,y(:,1),'-o',t,y(:,2),'-o');
    title('单摆数值解法');xlabel('Time t');ylabel('Solution y');
    legend('theta=pi/2','omega=2');
    function dydt=solve(t,y)
    g = 9.8;l=2*g;mu=0;
    dydt = [y(2);-mu*y(2)-g/l*sin(y(1))];
    end

    参考

    1. ^单摆-维基百科 https://zh.wikipedia.org/wiki/%E6%93%BA
    2. ^理论力学-哈工大 https://book.douban.com/subject/3866935/
    3. ^力学-朗道 https://book.douban.com/subject/2059252/
    4. ^数值方法 https://book.douban.com/subject/4780614/
    展开全文
  • 微分方程数值模拟常用的方法主要有三种:有限差分方法(FDM)、有限元方法(FEM)、有限体积方法(FVM),本文将对这三种方法进行简单的介绍和比较。一.有限差分方法有限差分方法(Finite Difference Methods)是数值模拟...
    8e8cc43d6ee27d48ae573d731b678e3c.png

    偏微分方程数值模拟常用的方法主要有三种:有限差分方法(FDM)、有限元方法(FEM)、有限体积方法(FVM),本文将对这三种方法进行简单的介绍和比较。

    一.有限差分方法

    有限差分方法(Finite Difference Methods)是数值模拟偏微分方程最早采用的方法,至今仍被广泛运用。该方法包括区域剖分和差商代替导数两个过程。

    具体地,首先将求解区域划分为差分网格,用有限个网格节点代替连续的求解区域。其次,利用Taylor级数展开等方法将偏微分方程中的导数项在网格节点上用函数值的差商代替来进行离散,从而建立以网格节点上的值为未知量的代数方程组。

    该方法是一种直接将微分问题变为代数问题的近似数值解法,数学概念直观,表达简单,是发展较早且比较成熟的数值方法。差商代替导数后的格式称为有限差分格式,从格式的精度来考虑,有一阶格式、二阶格式和高阶格式。从差分的空间离散形式来考虑,有中心格式和迎风格式。对于瞬态方程,考虑时间方向的离散,有显格式、隐格式、交替显隐格式等。

    目前常见的差分格式,主要是以上几种格式的组合,不同的组合构成不同的差分格式。差分方法主要适用于结构网格,网格的步长一般根据问题模型和Courant稳定条件来决定。

    二.有限元方法

    有限元方法(Finite Element Methods)的基础是变分原理和分片多项式插值。该方法的构造过程包括以下三个步骤。

    首先,利用变分原理得到偏微分方程的弱形式(利用泛函分析的知识将求解空间扩大)。其次,将计算区域划分为有限个互不重叠的单元(三角形、四边形、四面体、六面体等)。再次,在每个单元内选择合适的节点作为求解函数的插值点,将偏微分方程中的变量改写成由各变量或其导数的节点值与所选用的分片插值基函数组成的线性表达式,得到微分方程的离散形式。利用插值函数的局部支集性质及数值积分可以得到未知量的代数方程组。

    有限元方法有较完善的理论基础,具有求解区域灵活(复杂区域)、单元类型灵活(适于结构网格和非结构网格)、程序代码通用(数值模拟软件多数基于有限元方法)等特点。有限元方法最早应用于结构力学,随着计算机的发展已经渗透到计算物理、流体力学等各个数值模拟领域的广泛应用中。

    根据所采用的检验函数(虚位移函数)和插值函数的不同,有限元方法也分为多种计算格式。从检验函数的选择来说,有配置法、最小二乘法和伽辽金法,从计算单元网格的形状来划分,有三角形网格、四边形网格和多边形网格,从插值函数的精度来划分,又分为线性插值函数和高次插值函数等。不同的组合同样构成不同的有限元计算格式。对于有限元方法,其基本思路和解题步骤可归纳为

    • 建立积分方程,根据变分原理或方程余量与检验函数正交化原理,建立与微分方程初边值问题等价的积分表达式,这是有限元法的出发点。
    • 区域单元剖分,根据求解区域的形状及实际问题的物理特点,将区域剖分为若干相互连接、不重叠的单元。区域单元划分是采用有限元方法的前处理过程,要给出计算单元和节点进行编号相互之间的关系、节点的位置坐标,同时还需要列出问题的自然边界和本质边界的节点序号和相应的边界值。
    • 确定单元基函数,根据单元中节点数目及对近似解精度的要求,选择满足一定插值条件的插值函数作为单元基函数。有限元方法中的基函数是在单元中选取的,由于各单元具有规则的几何形状,在选取基函数时可遵循一定的法则。
    • 单元分析:将各个单元中的求解函数用单元基函数的线性组合表达式进行逼近;再将近似函数代入积分方程,并对单元区域进行积分,可获得含有待定系数(即单元中各节点的函数值)的代数方程组,称为单元有限元方程。
    • 总体合成:在得出单元有限元方程之后,将区域中所有单元有限元方程按一定法则进行累加,形成总体有限元方程。
    • 边界条件的处理:一般边界条件有三种形式,分为本质边界条件(Dirichlet边界条件)、自然边界条件(Neumann边界条件)、混合边界条件(Cauchy边界条件)。对于自然边界条件,一般在积分表达式中可自动得到满足。对于本质边界条件和混合边界条件,需按一定法则对总体有限元方程进行修正满足。
    • 解有限元方程:根据边界条件修正的总体有限元方程组,采用适当的代数方程组求解器,可求得各节点的函数值。

    三.有限体积法

    有限体积法(Finite Volume Methods)又称为控制体积法。其基本思路是:将计算区域划分为一系列互不重叠的控制体,并使每个网格点周围有一个控制体;将待求解的微分方程对每一个控制体积积分,便得出一组离散方程。

    该方法的未知量为网格点上的函数值。为了求出控制体积的积分,须假定函数值在网格点控制体边界上的变化规律。从积分区域的选取方法看来,有限体积法属于有限元方法中检验函数取分片常数插值的子区域法;从未知量的近似方法看来,有限体积法属于采用局部近似的离散方法。

    有限体积法的基本思路易于理解,能够保持物理量在控制体上的守恒性质,也即离散方程保持了微分方程物理量在控制体满足某种守恒原理的物理意义。这是有限体积法吸引人的优点。此外,在有限体积法中,插值函数只用于计算控制体积的积分,因此可以对微分方程中不同的项采取不同的插值函数。

    三者各有所长

    有限差分方法直观,理论成熟,精度可选。但是不规则区域处理繁琐,虽然网格生成可以使FDM应用于不规则区域,但是对区域的连续性和解的光滑性等要求较高。使用FDM的好处在于易于编程。

    有限元方法适合处理复杂区域,精度可选,程序代码具有较强的通用性,适于大规模编程开发和计算。有限体积法适于流体计算,可以应用于非结构网格,适于并行。但是精度最高达到二阶。FVM的优势正逐渐显现出来,FVM在应力应变、高频电磁场方面的特殊的优点正在被人重视。

    三者间的区别

    FVM和FDM在精度和守恒性方面的差别

    FVM由积分方程离散,而FDM方法由微分方程直接离散,前者的精度不但取决于积分时的精度,还取决于对导数处理时的精度,一般总体最高具有二阶精度;后者的精度不涉及积分,而是借助Taylor展开利用差商代替导数,可以具有较高阶的精度。前者对于守恒型方程保持守恒性质,而后者不一定具有守恒性。

    FVM和FEM的区别

    有限元在复杂区域的适应性对有限体积是相同的,而有限容积的守恒性,物理概念明显的这些特点,有限元是没有的。但是有限体积方法在精度方面与有限元方法还有些差距。

    FEM和FDM的区别

    有限元方法在适应复杂求解区域和对解的光滑性要求上要优于有限差分法,但是在编程和实现上,有限差分方法在效率上占有一定的优势。

    展开全文
  • 微分方程数值解法的matlab程序 欧拉法 clear clc syms x y f=2*x; a=0; b=10; y0=0; h=0.1; n=(b-a)/h+1; xx=zeros(n,1); yy=zeros(n,1); for i=1:n xx(i)=a+h*(i-1); end yy=zeros(n,1); yy(1)=y0; for i=2:n yy...
  • 机器之心原创作者:蒋思源微分方程真的能结合深度神经网络?真的能用来理解深度神经网络、推导神经网络架构、构建深度生成模型?本文将从鄂维南、董彬和陈天琦等研究者的工作中,窥探微分方程与深度学习联袂前行的...
  • 微分方程数值解法——python实现

    千次阅读 2018-12-29 23:35:06
    研究生课程《应用数值分析》结课了,使用python简单记录了下常微分方程数值解法。 向前欧拉法 {yi+1=yi+hif(xi,yi)y0=y(a) \left \{ \begin{array}{lr} y_{i+1}=y_i+h_i f(x_i,y_i) \\ y_0=y(a) \end{array} \right...
  • 微分方程数值解法 --------本章节总体逻辑: --------以下为各部分具体知识点: 一、引言 1.1 背景 1、原因 2、常见方法 3、相关概念 1.2 基本思想 二、改进的 EulerEulerEuler 方法和 TaylorTaylorTaylor 展开...
  • 椭圆型偏微分方程数值解法

    千次阅读 多人点赞 2020-08-04 19:33:11
    一、 一维椭圆方程数值解 matlab代码:` function chap2_fdm_elliptic_1D % 一维椭圆方程求解(常微分方程边值问题) % -u'' + q(x)u = f(x), 0<x<1, 取q(x) = x, f(x) = (x-1)exp(x) % u(0) = 1, u(1) = e; ...
  • 电路模型和微分方程 python代码 目录 安装环境包 电路模型和微分方程 模型1 电路模型1 微分方程1 模型2 电路模型2 微分方程2 python代码 模型1 模型2 数值解结果 模型1 模型2结果 安装环境包 安装...
  • 【Mark下】三个微分公式三元函数,二阶或者更高阶的微分非线性方程利用Finite Difference Method展开,在利用牛顿迭代的方法,解方程,其下是考虑到电脑无法存储大量举阵情况下的分布解法。如果是N mesh grids,可以...
  • 常微分方程的数值解法 一阶常微分方程数值解的C语言编程实现导读:就爱阅读网友为您分享以下“一阶常微分方程数值解的C语言编程实现”资讯,希望对您有所帮助,感谢您对92的支持!一阶常微分方程数值解的C语言编程...
  • 博主在这段时间将不断更新有限差分法在偏微分方程中的应用,并以python为工具讲解三类偏微分方程的有限差分法实现。 直通链接: ...将一个问题转化为微分方程后,如何得到尽可能逼近真解的数值解,是我们...
  • 中值法简介 在惯性导航以及VIO等实际问题中利用IMU...[常微分方程数值解法系列一] 常微分方程 [常微分方程数值解法系列二] 欧拉法 [常微分方程数值解法系列三] 中值法 [常微分方程数值解法系列四] 龙格-库塔(R
  • 龙格-库塔法简介 在惯性导航以及VIO等实际问题中利用IMU...[常微分方程数值解法系列一] 常微分方程 [常微分方程数值解法系列二] 欧拉法 [常微分方程数值解法系列三] 中值法 [常微分方程数值解法系列四] 龙格-库
  • 改进欧拉法与上一篇中实例相比,改进欧拉法多了一步修正过程,正是应为有了该一步修正过程使得数值解法具有更高一级精度。 先看下面两幅图,第一幅是没有改进的欧拉...代码如下:%微分方程数值解法----欧拉法测试 %--
  • 欧拉法简介几何意义证明泰勒展开近似求导近似积分近似几种欧拉方式向前欧拉公式向后欧拉公式梯形公式改进欧拉法截断误差...该系列主要介绍一些常用的常微分方程数值解法,主要包括: [常微分方程数值解法系列一]
  • 微分方程解法 (四): Matlab 解法

    万次阅读 多人点赞 2019-04-30 10:33:01
    微分方程解法 (一): 常微分方程的离散化 :差商近似导数、数值积分方法、Taylor 多项式近似 常微分方程解法 (二): 欧拉(Euler)方法 常微分方程解法 (三): 龙格—库塔(Runge—Kutta)方法 、线性多步法 ...
  • 微分方程是由函数在某点导数值和一个与x,y相关函数组成的方程 y′=f(x,y) 式子 y′=x2+y2 就是一种典型的常微分方程,并且这个方程很难用分离变量的方法解出。matlab程序表达为 function f=f_xy(x,y) f=x^2-y...
  • 微分方程数值解法及仿真

    热门讨论 2010-01-07 23:40:30
    三、 一阶常微分方程组的数值解法 2 四、 仿真算例 4 仿真1 应用欧拉法 4 仿真2 应用二阶龙格-库塔法 5 仿真3 应用四阶龙格-库塔法 6 附录 Matlab程序 7 1. 欧拉法程序 7 2. 二阶龙格-库塔法程序 8 3. 四阶龙格-库塔...
  • 所谓数值解法,就是设法将常微分方程离散化,建立差分方程,给出解在一些离散点上的近似值.问题 7.1 一阶常微分方程初值问题的一般形式{y′=f(x,y),a⩽x⩽by(a)=α\begin{equation} \left \{ \begin{aligned} & y'=f(x,...
  • python对于常微分方程数值求解是基于一阶方程进行的,高阶微分方程必须化成一阶方程组,通常采用龙格-库塔方法. scipy.integrate模块的odeint模块的odeint函数求常微分方程数值解,其基本调用格式为: sol=...
  • 包含椭圆,抛物线,双曲线偏微分方程数值解法,隐式格式,显示格式等,应用于大学偏微分方程数值解报告的撰写
  • 二阶微分方程初值问题的Laguerre-Gauss配置法,严建平,郭本瑜,本文研究二阶微分方程初值问题的数值解法。文中基于Laguerre-Gauss插值设计了一类新的配置法, 它易于计算,且特别适用于非线性问题�
  • 微分方程数值解法

    千次阅读 2017-03-02 21:46:46
    问题描述对于一阶的方程: {y′=f(x,y)(a⩽x⩽b)y(a)=η \left\{ \begin{align} &y'= f(x, y) (a \leqslant x \leqslant b) ... 所谓的数值解法,就是寻求解y(x)y(x)在一系列离散的点上 a=x0<x1<x2<...<xn=ba = x_0 <

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 754
精华内容 301
关键字:

二阶微分方程数值解法