问题标签 [ode45]

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 投票
0 回答
129 浏览

matlab - 如何插入向量并使用变量(ode45)?

我正在使用 ODE 模型,我必须将向量放入变量中然后求解它,但我有一些参数取决于模型的某些方程,例如辅助函数/方程,但我得到了这个错误:

这是我到目前为止所拥有的:

我怎样才能让它工作?它出什么问题了?

非常感谢你的帮助 (:

编辑:我试过function dx=fun (t,x)但它一直发送错误:

也有,function f=fun(t,x)但它发送这个

0 投票
0 回答
219 浏览

matlab - 如何在 Ode45 中使用额外的时变离散输入?

例如如下函数所示:Ts具有初始值的变量在哪里,虽然Qu是输入,但它随时间变化,具有在矩阵中定义的特定值。

M 文件:

我以这种方式使用:

但它给出了一个错误。请通过此示例说明如何使用随时间变化的输入。

0 投票
0 回答
769 浏览

matlab - 具有两个自由度 MATLAB 的 ode45

我正在尝试使用 ode45 函数求解一个微分方程,该函数涉及两个自由度,即 x 和 y 方向。在下面的 oem 函数中,我试图将需要的所有四个变量存储到矩阵中以插入 ode45,但我无法让 oem 函数识别 ds(3) 或 ds(4)。我试过解决它,但我碰壁了。

0 投票
1 回答
2151 浏览

matlab - Matlab ode45 vs. ode23,不同的解决方案

我使用ode45andode23用于一组非刚性微分方程。然而,这两种方法都收敛到一个稍微不同的解决方案。我怎样才能知道哪一个是正确的?见附图,蓝色是ode45,红色是ode23。虚线是每个求解器的最终值。此外,ode15s有点不同(小于 1 m)...

在此处输入图像描述

0 投票
1 回答
1542 浏览

matlab - 有没有办法在时间以外的某个时间点之后停止 matlab 中的 ode(any) ?

通常任何 ode23、ode 45 之类的 ode 都会从初始时间到最终时间 [t0 tf] 进行积分。有没有办法,可以在不依赖于时间的其他参数上停止积分?例如,我有一个线性阻尼器。

怎么可能不从 t0 运行 ode 到 tf 但在 p1 = p2 时停止它?或者我可以通过某种方式预先确定 p1 和 p2 的限制,以使 ode 不超过它们?请帮忙。谢谢

0 投票
0 回答
31 浏览

matlab - 在matlab中求解ODE时输入参数不足

我正在尝试求解 3 个 ODE,它们实际上是速率方程。这就是我打算如何表示方程并在 MATLAB 中使用 ODE45 进一步求解它们。

但我不断收到错误“输入参数不足”。我是 MATLAB 新手。任何帮助将非常感激。

0 投票
1 回答
778 浏览

matlab - Matlab:微分方程(ode45):我可以反转 tspan 以获得更好的初始条件吗?

ode45用来在 Matlab 中求解/绘制二阶微分方程。我tspan是从 0 到 0.25。但是接近零的初始条件定义不明确(斜率趋于无穷大,复数值)。0.25 附近的条件定义明确(斜率和值均为零)。

问题:

  1. 我可以反转tspan,并使用“最终条件”作为初始条件吗?

  2. 好吧,我知道我可以做到(见下面的代码),并且我得到了一个看起来像我期望的情节,但一般来说这是一个有效的事情吗?在这种情况下我很幸运吗?

  3. ode45提供数值解,并不精确。倒车后我可能有更大的错误tspan吗?

这是我的代码,它应该独立运行:

0 投票
1 回答
154 浏览

matlab - 使用 ODE45 在 matlab 中求解一个 4 二阶 ODE 的系统

我需要在matlab中使用ODE45解决这个二阶方程组我只熟悉使用ODE45可能有一个或两个方程但不是这么多这是我所拥有的,但我不知道如何纠正它:

0 投票
1 回答
983 浏览

matlab - ode45 函数文件的输入矩阵

我有一个代码(需要用户提供大量输入),它将为我提供 anxn 矩阵(比如 A),我必须使用它来解决 ODE X'=AX 的系统。如何在 ode45 的函数文件(.m 文件)中包含这个矩阵 A。如果我在函数文件中包含如下代码:

Matlab 在每个时间步都要求输入(通常我的问题有 30k 时间步)。那么如何将矩阵 A 包含/传递给函数呢?

0 投票
1 回答
202 浏览

matlab - 使用 parfor 扫描一组 ODE 的初始条件

我目前正在尝试使用 parfor 扫描一系列由 ode45 求解的微分方程的初始条件。该代码使用两个嵌套的 for 循环可以正常工作,但我希望 parfor 可以使该过程更高效。不幸的是,我遇到了一个问题,即求解器能够求解矩阵中表示一系列变量的初始条件的组合之一,但其他组合的初始值似乎都设置为 0,而不是指定的值由初始条件。这可能与我需要创建一个零矩阵('P')的事实有关,结果将被写入,可能会覆盖初始条件(?)任何帮助将不胜感激。

谢谢,凯尔