精华内容
下载资源
问答
  • ode

    2020-02-25 11:40:34
    如何应用ode Import commands import numpy as np import matplotlib.pyplot as plt %matplotlib inline from scipy.integrate import odeint #prameters r=0 q=1.1 w=1.2 Derivative function def derivs(y, t,r...

    如何应用ode

    在这里插入图片描述
    在这里插入图片描述

    Import commands

    import numpy as np
    import matplotlib.pyplot as plt
    %matplotlib inline
    from scipy.integrate import odeint

    #prameters
    r=0
    q=1.1
    w=1.2

    Derivative function

    def derivs(y, t,r,w, q):

    输入parameters的值:

    # Unpack the current values of the variables we wish to "update" from the y list)
    X=y[0]
    Y=y[1]
    
    # Right-hand side of odes, which are used to compute the derivative
    dXdt = -r*X-w*Y
    dYdt =q*X
    
    return dXdt, dYdt
    
    Declare Variables for initial conditions

    initial condition
    X0=3
    Y0=1
    y0=[X0, Y0]

    define time steps
    t=np.linespace(0,20,2000)

    sol=odeint(derivs, y0, t, args=(r,w,q))

    plt.subplot()/ plt.figure(1)
    plt.plot(time,sol[:,0], color=“green”,label="…")
    plt.xlabel("…")
    plt.ylabel("…")
    plt.grid()
    plt.legend()

    展开全文
  • Ode2Paste

    2019-10-24 06:29:13
    Ode2Paste
  • - <code>integrate_ode</code> to <code>integrate_ode_rk45 - <code>integrate_ode_cvode</code> to <code>integrate_ode_bdf</code></p> <h4>Additional Information: <p>The Stan library will need to change. ...
  • %主程序-求解器:ode45 clear all close all clc y0 = 0; tspan = [0:0.01:10]; [t,y] = ode45(@subfun,tspan,y0); figure(1) plot(t,y);% 画出每次积分结果与时间的图形 %主程序-求解器:ode15s clear all close...
    %主程序-求解器:ode45
    clear all
    close all
    clc
    
    y0 = 0;
    tspan = [0:0.01:10];
    [t,y] = ode45(@subfun,tspan,y0);
    
    figure(1)
    plot(t,y);% 画出每次积分结果与时间的图形
    
    %主程序-求解器:ode15s
    clear all
    close all
    clc
    
    y0 = 0;
    yp0 = 1;
    tspan = [0:0.01:10];
    options = odeset('RelTol',1e-12);
    [t,y] = ode15s(@subfun,tspan,y0,yp0,options);
    
    figure(1)
    plot(t,y);% 画出每次积分结果与时间的图形
    
    %主程序-求解器:ode15i
    clear all
    close all
    clc
    
    y0 = 0;
    yp0 = 1;
    tspan = [0:0.01:10];
    options = odeset('RelTol',1e-12);
    [t,y] = ode15i(@subfun,tspan,y0,yp0,options);
    
    figure(1)
    plot(t,y);% 画出每次积分结果与时间的图形
    
    %以“subfun”命名的子函数
    function f = ode(t,y,yp)
    f = cos(t);
    

    #ode45求解结果
    ode45求解结果
    #ode15s求解结果
    ode15s求解结果
    #ode15i求解结果:积分公差要求无法满足:我暂时还没找到是什么原因产生的

    ode15i求解结果:积分公差要求无法满足:我暂时还没找到是什么原因产生的

    展开全文
  • forced ODE

    2020-12-09 05:15:32
    <div><p>Hi, <p>Thank you for your great framework. I am trying to fit a forced ODE (where the forcing occurs at a known time). e.g.: data in the plot below, where a step input comes at known times. ...
  • ode-image-源码

    2021-03-31 02:57:33
    ode-image
  • Numerical-ODE-源码

    2021-03-27 03:18:36
    Numerical-ODE
  • 本文主要介绍matlab中求解常微分方程(组)的dsolve和ode系列函数,并通过例子加深读者的理解。 一、符号介绍  D: 微分符号;D2表示二阶微分,D3表示三阶微分,以此类推。 二、函数功能介绍及例程 1、dsolve ...

    本文主要介绍matlab中求解常微分方程(组)的dsolveode系列函数,并通过例子加深读者的理解。

    一、符号介绍

       D: 微分符号;D2表示二阶微分,D3表示三阶微分,以此类推。

    二、函数功能介绍及例程

    1、dsolve 函数

    dsolve函数用于求常微分方程组的精确解,也称为常微分方程的符号解。如果没有初始条件或边界条件,则求出通解;如果有,则求出特解。

    1)函数格式  

    Y = dsolve(‘eq1,eq2,…’ , ’cond1,cond2,…’ , ’Name’)

    其中,‘eq1,eq2,…’:表示微分方程或微分方程组;

                ’cond1,cond2,…’:表示初始条件或边界条件;

                ‘Name’:表示变量。没有指定变量时,matlab默认的变量为t;

    2)例程

    例1.1(dsolve 求解微分方程)

    求解微分方程:

      

    在命令行输入: dsolve('Dy=3*x^2','x') ,摁下enter键后输出运行结果。

    例1.2(加上初始条件)

    求解微分方程:

    只需要在命令行添加初始条件即可,此时求出的即为方程的特解。可以看到上例中的C9变为了2。

    例2(dsolve 求解微分方程组)

    求解微分方程组: 

    由于x,y均为t的导数,所以不需要在末尾添加’t’。

    2、ode函数

    在上文中我们介绍了dsolve函数。但有大量的常微分方程,虽然从理论上讲,其解是存在的,但我们却无法求出其解析解,此时,我们需要寻求方程的数值解。

    怎么理解数值求解呢?数值分析是一门专门的学科,在此不过多介绍。我主要想通过一个简单的例子来向大家阐述数值求解的思想。

    比如,求解微分方程  。我们就可以转化为,那么。因此,我们可以通过迭代的方式来求解y。即可理解为步长

    odeMatlab专门用于解微分方程的功能函数。该求解器有变步长(variable-step)和定步长(fixed-step)两种类型。不同类型有着不同的求解器,具体说明如下图。 

    非刚性ode求解命令

    求解器solver

    功能

    说明

    ode45

    一步算法:4、5阶龙格库塔方程:累计截断误差(Δx)^5

    大部分尝试的首选算法

    ode23

    一步算法:2、3阶龙格库塔方程:累计截断误差(Δx)^3

    适用于精度较低的情形

    ode113

    多步算法:Adams

    计算时间比ode45短

    刚性ode求解命令

    ode23t

    梯形算法

    适度刚性情形

    ode15s

    多步法:Gear’s反向数值微分:精度中等

    若ode45失效时,可以尝试使用

    ode23s

    一步法:2阶Rosebrock算法:精度低

    当精度较低时,计算时间比ode15s短

    ode23tb

    梯形算法:精度低

    当精度较低时,计算时间比ode15s短

    其中,ode45求解器属于变步长的一种,采用Runge-Kutta算法;其他采用相同算法的变步长求解器还有ode23ode45表示采用四阶-五阶Runge-Kutta算法,它用4阶方法提供候选解,5阶方法控制误差,是一种自适应步长(变步长)的常微分方程数值解法,其整体截断误差为(Δx)^5。解决的是Nonstiff(非刚性)常微分方程。

    ode45是解决数值解问题的首选方法,若长时间没结果,应该就是刚性的,可换用ode15s试试。

    下面将以ode45为例具体介绍函数的使用方法。

    1)函数格式  

    [T,Y] = ode45(‘odefun’,tspan,y0)

    [T,Y] = ode45(‘odefun’,tspan,y0,options)

    [T,Y,TE,YE,IE] = ode45(‘odefun’,tspan,y0,options)

    sol = ode45(‘odefun’,[t0 tf],y0...)

    其中: odefun是函数句柄,可以是函数文件名,匿名函数句柄或内联函数名;

              tspan 是求解区间 [t0 tf],或者一系列散点[t0,t1,...,tf]

              y0 是初始值向量

              T 返回列向量的时间点

              Y 返回对应T的求解列向量

              options 是求解参数设置,可以用odeset在计算前设定误差,输出参数,事件等

               TE 事件发生时间

               YE 事件发生时之答案

                IE 事件函数消失时之指针i

    2)微分方程标准化

    利用ode45求解高阶微分方程时,需要做变量替换。下面说明替换的基本思路。

    微分方程为

     

    初始条件

     

    首先做变量替换 

    原微分方程可以转换为下面的微分方程组的格式:

    下面就可以利用转换好的微分方程组来编写odefun函数。

    3)例程

    例3.1(编写odefun函数)

     

    在matlab中新建脚本文件,编写函数如下:

    本例中只需在例3.1的基础上编写主函数,加上求解区间和边值条件即可。需要注意的是,ode45的运行结果以列向量形式给出。因此在本例中,x的第一列为y,第二列为y’。如果遇到变量不是列向量形式的,可以考虑利用reshape函数做矩阵变换。

    则,plot(t,x(:,1))画出来的是x的第一列数据,即为y;

            plot(t,x(:,2))画出来的是x的第二列数据,即为y’;

     

    三、总结

    在使用matlab中,如遇到命令格式记不清楚等情况,建议直接在命令行输入指令’help+函数名称’,如,在matlab命令窗口输入help dsolve后,显示如下:

    参考:

    1、https://jingyan.baidu.com/article/e52e36154448e940c60c51aa.html

    2、https://baike.baidu.com/item/ode45/6674723?fr=aladdin

    3、https://wenku.baidu.com/view/45a0a0b54b73f242326c5f7f.html

     

     

    展开全文
  • 论文清单 基于ODE的深度学习分析 论文清单 计算机视觉论文(图像处理) 物理深度学习 论文清单
  • 交叉开关-ODE_RNN ODE-RNN的忆阻器交叉开关实现
  • eclipsewin32位ODE

    2018-11-25 01:36:46
    eclipsewin32位ODE
  • -<code>owl-ode.0.0.9</code>: Owl's ODE solvers -<code>owl-ode-sundials.0.0.9</code>: Owl's ODE solvers, interface with SundialsML <ul><li>Homepage: https://github.com/owlbarn/owl_ode</li><li>...
  • MATLAB之ODE

    千次阅读 2020-12-02 16:02:16
    MATLAB之ODE 一、简介 斜体样式在工程和计算中常常需要求解微分方程,但微分方程的解析解通常很难得到,...Matlab中求微分方程数值解的函数有七个:ode45,ode23,ode113,ode15s,ode23s,ode23t,ode23tb。 ode是Mat

    MATLAB之ODE

    一、简介

    • 在工程和计算中常常需要求解微分方程,但微分方程的解析解通常很难得到,所以一种退而求其次的方法就是求其数值解。这里是使用Matlab中的ode45求解常微分方程数值解的简单说明。具体可使用"help ode45"命令查看它的帮助文档。
    • ode45,常微分方程的数值求解。MATLAB提供了求常微分方程数值解的函数。
    • Matlab中求微分方程数值解的函数有七个:ode45,ode23,ode113,ode15s,ode23s,ode23t,ode23tb。
    • ode是Matlab专门用于解微分方程的功能函数。该求解器有变步长(variable-step)和定步长(fixed-step)两种类型。不同类型有着不同的求解器,其中ode45求解器属于变步长的一种,采用Runge-Kutta算法;其他采用相同算法的变步长求解器还有ode23。
    • ode45表示采用四阶-五阶Runge-Kutta算法,它用4阶方法提供候选解,5阶方法控制误差,是一种自适应步长(变步长)的常微分方程数值解法,其整体截断误差为(Δx)^5。解决的是Nonstiff(非刚性)常微分方程。

    二、用法

    • [T,Y] = ode45(odefun,tspan,y0)
    • odefun 是函数句柄,可以是函数文件名,匿名函数句柄或内联函数名
    • tspan 是区间 [t0 tf] 或者一系列散点[t0,t1,…,tf]
    • y0 是初始值向量
    • T 返回列向量的时间点
    • Y 返回对应T的求解列向量

    三、举例

    假如我们要求解如下方程组,它描述的是无外力作用下的刚体运动:

    y_1'= y_2*y_3    y_1(0)=0
    y_2'= -y_1*y_3    y_2(0)=1
    y_3'= -0.51*y_1*y_2    y_3(0)=1
    

    首先创建一个函数文件,文件名为odefun.m,代码如下:

    % odefun.m
    function dy = odefun(t,y)
    dy = zeros(3,1);    % a column vector
    dy(1) = y(2) * y(3);
    dy(2) = -y(1) * y(3);
    dy(3) = -0.51 * y(1) * y(2);
    end
    

    然后创建命令文件,文件名为testode45.m,代码如下:

    % testode45.m
    % 清空所有变量
    clear
    % 清空屏幕
    clc
    
    % 时间跨度取0-12,可以空格分隔,也可以用逗号分隔
    tspan = [0,12];
    % 初始值
    y0 = [0,1,1];
    % 调用语句
    [T,Y] = ode45( @odefun, tspan, y0 );
    % 绘图
    plot(T,Y(:,1),'-',T,Y(:,2),'-.',T,Y(:,3),'.')
    legend('x','y','z')
    

    最后运行testode45.m文件,就可以得到所求方程的图像:
    在这里插入图片描述

    展开全文
  • -<code>owl-ode.0.1.0</code>: Owl's ODE solvers -<code>owl-ode-sundials.0.1.0</code>: Owl's ODE solvers, interface with SundialsML <ul><li>Homepage: https://github.com/owlbarn/owl_ode</li><li>...
  • Rewriting the ODE

    2020-12-30 06:26:56
    <div><p>Using the ODE based on XUL files didn't work for me after many hours of research. <p>So I started to develop a new ODE written in python3. Hopefully this will make scripting really easy. ...
  • <p><code>integrate_ode_bdf</code> does not handle errors properly. There are some errors from within the integrator that crashes CmdStan, which will probably crash R through RStan. <p><em>From -...
  • 经典ODE教程

    2015-03-29 10:15:38
    大牛所做的非常经典的ode教程,含各种高级ode内容,值得拥有~~~
  • Add ODE token

    2020-12-26 13:14:11
    ODE团队致力于服务未来“加密数字经济社会”,团队及创始人有着非常丰富的区块链技术开发以及市场运营经验,ODE技术团队在采矿,监管和创新技术应用方面拥有良好的技术水平和实践经验。 <h3>...
  • 高效液相色谱-电喷雾检测器测定ODE-TFV中ODE残留量,周洁,姜宏,目的:建立测定替诺福韦十八烷氧乙基单酯衍生物(ODE-TFV)中十八烷氧乙醇(ODE)含量的高效液相色谱-电喷雾检测器的方法。方法:采�
  • m trying to use ODE fitting when my data are not directly linked to an ode variable: + y : variable of an ode model with some kind of parameters to optimize + z_data = f(y,params) where:...
  • ode_rnn.zip

    2020-02-12 10:56:46
    用深度学习建模任何常微分模型。神经常微分方程(Neural ODE),将神经网络与常微分方程结合在一起,用ODE来做预测。不是逐层更新隐藏层,而是用神经网络来指定它们的衍生深度,用ODE求解器自适应地计算输出。
  • ODE System exceptions

    2020-12-03 04:25:19
    <div><p>Hi!...in a generic way or is the library not designed to handle this kind of ODE systems? <p>Greets Janick</p><p>该提问来源于开源项目:headmyshoulder/odeint-v2</p></div>
  • matlab开发-ode86

    2019-08-25 05:33:01
    matlab开发-ode86。ODE86整合了一个严格公差下的常微分方程系统。
  • Vid-ODE-官方PyTorch实施 该存储库提供了以下论文的官方PyTorch实现: Vid-ODE:具有神经常微分方程的连续时间视频生成 1 , 1 , 1 , 1 , 2 , 3 , 1 1个KAIST, 2个Google Research, 3个Lawrence Livermore ...
  • ODE Benchmark Error

    2020-12-27 12:58:53
    The ODE benchmarks do not run under Pycket: <pre><code> can't find module #%foreign for '_int8 while executing: _int8 in module: unsafe </code></pre>该提问来源于开源项目:pycket/...
  • Ode ts parameters

    2021-01-01 16:59:53
    <p>Allow <code>ts</code> of ODE integration functions to be <code>var</code>. This can be used to make inference on observation time in models involving ODEs. <p>The sensitivity with respect to <code>...
  • Remove ode4

    2020-11-29 09:37:26
    The other file <code>SpringFlamingoPlant.m</code> also calls <code>ode4</code>. It should be removed also, as mentioned in #2814 . <p>This change is ...
  • Solving ODE system

    2020-12-26 20:15:32
    I am trying to solve ode system d2y/d2x=6x and solution y=x^3 and dy/dx=2x with solution y=x^2. But I am unable to solve it. Thanks in advance.</p><p>该提问来源于开源项目:...
  • <p>There is a memory problem with the ~<code>coupled_ode_system~ <code>coupled_ode_system</code> test; it is indexing past the end of a <code>std::vector</code>. I've only verified that this ...

空空如也

空空如也

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

ODE