问题标签 [odeint]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
370 浏览

boost - boost::numeric::odeint 用于刚性系统,如果我们无法得到解析的雅可比矩阵怎么办?

我正在使用 boost::numeric::odeint rosenbrock4 积分器。问题是我无法得到一个分析的雅可比矩阵,有什么解决方案可以解决这个问题吗?

0 投票
1 回答
198 浏览

python - 如何在循环和绘图中设置一个 numpy 数组

我正在尝试修改 scipy 食谱中的代码

scipy 食谱解决了一些状态方程,然后打印它们:

scipy 食谱要求您运行程序并将打印的内容保存到文件中:

程序.py > 文件.dat

然后一个单独的绘图功能要求您从该文件加载数据

在绘图之前

我只想设置 t,x1,x2 和 plot

谁能告诉我该怎么做?

这就是我要修改的内容:

http://wiki.scipy.org/Cookbook/CoupledSpringMassSystem

0 投票
1 回答
1781 浏览

c++ - 如何在 linux 中安装仅标头(odeint)库?

我在 Debian Sqeeze 下使用 g++ 4.4,并且安装了 boost。我可以使用标题运行一个简单的提升矩阵示例:

但我还想添加odeint标题:

但是,这是不可能的,因为我的 /usr/include/boost/numeric 文件夹仅列出

如何安装odeint?

odeint是一个只有头文件的库,不需要链接到预编译的代码。我已下载.tarodeint并将文件夹和文件复制odeint.hpp到我的 /usr/include/boost/numeric 文件夹中。但是,它不起作用。编译时出现错误:

0 投票
1 回答
394 浏览

c++ - 如何使用 odeint 处理不连续性

我想知道使用 odeint 处理不连续性的最佳(计算效率高、代码美观)方法是什么。有没有示例代码?

我正在模拟类似反馈控制的电机,其角度由旋转编码器以数字方式测量。旋转编码器输出 y 可以像 y=floor(angle) 一样建模,其中角度是实数。

从概念上讲,我知道该怎么做。模拟过程中,我要找到角度与整数值相交的时间,然后回到上一步,积分到相交的那个时间,根据不连续性调整状态,y,从同一点重新开始积分时间。

经过一番谷歌搜索,我找到了下面的代码。但我没有看到库中提供的函数 make_const_step_time_range。

http://meetingcpp.com/tl_files/mcpp/slides/12/odeint.pdf第 18 页:

我正在使用 boost_1_54_0。

0 投票
2 回答
3437 浏览

c++ - 如何在 C++ 中使用 odeint 执行简单的数值积分

你能给我提供一个使用odeint in执行数字积分的简单示例C++吗?

我想使用方便的集成功能,记录为:

我也不确定,如果可能的话,如何传递它而不是函数或仿函数、类方法。

0 投票
1 回答
167 浏览

odeint - odeint:如何在集成时记录中间结果?

我想知道如何在 odeint 集成期间记录状态以外的值。我有一个卫星动力学的模拟,它被描述为总角动量 L 和内轮动量 h 的微分方程。我的模拟运行正常。但我不仅需要记录状态变量,还需要记录其他一些值,例如外部扭矩 N 和角速度 omega,即 Jinv*L,其中 Jinv 是一个 3x3 常数卫星惯性矩阵。从某种意义上说,我的模拟器的目的不是计算 L 和 h,而是生成“其他”变量的时间历史。

为了展示我在做什么,下面是我当前代码的稍微简化的版本。

0 投票
2 回答
591 浏览

python - 使用 scipy.integrate.odeint 求解 ODE 系统时结合真实数据

我正在尝试构建一个由 ODE 系统表示并使用 scipy 的 odeint 函数解决的加热系统的简单模型。

我想在这个模型中加入“真实”数据,例如外部温度(在下面模拟为正弦波)。下面的代码显示了我当前的解决方案/hack,它使用一个名为 FindVal 的函数将真实数据插入到由 odeint 评估的时间戳。

这非常慢,所以我正在寻找有关如何以更好的方式完成此操作的建议。

这是代码...

0 投票
1 回答
720 浏览

c++ - odeint 简单一维 ode 示例无法编译

我尝试在 Debian Squeeze g++4.4 上的 boost_1_54_0 中运行odeint 示例

Lorenz 系统工作正常,但简单的一维颂歌

不编译。有 192 行错误以以下结尾:

有什么问题?

0 投票
1 回答
1271 浏览

c++ - 使用导数和雅可比提升 odeint 类

我打算在 MCMC 例程中使用 Boost odeint 库来估计 ODE 模型中的参数。由于这些 ODE 可能很僵硬,我需要能够将雅可比传递到具有导数的求解器中。我想创建一个将参数和初始值作为私有成员的类,然后将导数、雅可比和更改参数的方法作为公共方法。我试图修改 odeint 网站上的僵硬示例以使用一个包含两者的类,但是在编译时收到错误“错误:没有匹配函数用于调用 'Fitzhugh::deriv()'。我不是一个经验丰富的 C++ 程序员,所以这可能是一个概念错误。这是代码。

这是完整的输出

0 投票
1 回答
2075 浏览

python - 使用带有 scipy odeint 的 numpy 数组

我正在使用 scipy 来求解一个常微分方程组。为简单起见,将我的代码设为:

但现在我想为常数“a”的几个值解决这个系统。因此,例如,我不想只有一个 = -2.0,而是:

并针对 a 的每个值求解系统。有没有办法做到这一点而不必遍历数组的每个元素?我可以一次性完成吗?