Julia调用Matlab, Python以及R的微分方程求解器

SciML教程系列:

从其他语言翻译来的求解器

对于熟悉MATLAB/Python/R的程序员,可先使用下表中的求解器,因为这些求解器是从这几种语言中翻译而来

Julia翻译 高效替代
ode23 BS3()
ode45/dopri5 DP5() Tsit5()
ode23s Rosenbrock23() Rodas4()
ode113 VCABM() Vern7()
dop853 DP8() Vern7() is more efficient
ode15s/vode QNDF()
FBDF()
Rodas4(), KenCarp4()
TRBDF2() RadauIIA5()
ode23t Trapezoid()
ode23tb TRBDF2()
lsoda lsoda() AutoTsit5(Rosenbrock23())
AutoVern7(Rodas5())
ode15i IDA()/DFBDF() Rodas4()

其中,lsoda()在LSODA.jl中,可求解刚性和非刚性问题,调用需安装

]add LSODA
using LSODA

重新封装版本

Julia中也有这些函数的重新封装版本,重新封装后一般比原语言中要快两三倍,但比Julia推荐的方法还要慢上1000倍。

调用方法
Matlab MATLABDiffEq.jl using MATLABDiffEq
scipy SciPyDiffEq.jl using SciPyDiffEq
r-deSolve deSolveDiffEq.jl using deSolveDiffEq

这三个包需要在github上下载安装

]add https://github.com/JuliaDiffEq/MATLABDiffEq.jl
]add https://github.com/JuliaDiffEq/SciPyDiffEq.jl
]add https://github.com/JuliaDiffEq/deSolveDiffEq.jl

其中,MATLABDiffEq.jl提供了一个桥接器,可以将Julia代码与MATLAB的ODE求解器进行交互。它主要用于求解常微分方程和偏微分方程。可以使用MATLAB的ODE求解器来解决几乎所有常见的数学问题,从最基本的方程到更复杂的非线性系统。换言之,其提供了一些MATLAB中求解器,包括ode23, ode45, ode113, ode23s, ode23t, ode23tb, ode15s, ode15i。

SciPyDiffEq.jl基于SciPy库中的ode和odeint函数实现,可以在Julia中实现类似Python中SciPy库的微分方程求解功能,可用方法有RK45, RK23, Radau, BDF, LSODA。

deSolveDiffEq.jl可调用:lsoda ,lsode ,lsodes ,lsodar ,vode ,daspk ,euler ,rk4 ,ode23 ,ode45 ,radau ,bdf ,bdf_d ,adams ,impAdams ,impAdams_d。

相关推荐

  1. Julia调用Matlab, Python以及R微分方程求解

    2023-12-17 07:32:04       64 阅读
  2. Python和Julia TensorFlow科学计算常微分方程求解

    2023-12-17 07:32:04       47 阅读
  3. 基于Python调用SCIP求解入门文档

    2023-12-17 07:32:04       51 阅读
  4. 基于Python调用Gurobi求解入门文档

    2023-12-17 07:32:04       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-17 07:32:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-17 07:32:04       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-17 07:32:04       82 阅读
  4. Python语言-面向对象

    2023-12-17 07:32:04       91 阅读

热门阅读

  1. 【人生感悟】涅槃重生

    2023-12-17 07:32:04       67 阅读
  2. 实现两张图片的接缝线拼接

    2023-12-17 07:32:04       66 阅读
  3. Webpack5

    2023-12-17 07:32:04       63 阅读
  4. 打包速度优化

    2023-12-17 07:32:04       56 阅读
  5. Python学习之复习MySQL-Day4(DCL)

    2023-12-17 07:32:04       63 阅读
  6. 算法工程师-机器学习面试题总结(7)

    2023-12-17 07:32:04       44 阅读
  7. 2023-12-17 创业日记-创业方向的选择

    2023-12-17 07:32:04       55 阅读
  8. 神经网络基础

    2023-12-17 07:32:04       61 阅读
  9. CDN加速在游戏服务商中的关键作用

    2023-12-17 07:32:04       51 阅读
  10. 《C++20设计模式》---桥接模式学习笔记

    2023-12-17 07:32:04       75 阅读