我希望有人能帮助解决以下问题。 我有以下常微分方程: dr/dt = 4*exp(0.8*t) - 0.5*r ,r(0)=2, t[0,1] (1) 我已经用两种不同的方法解决了(1)。 一种是通过龙格-库塔法(4阶),另一种是通过Matlab中的ode45函数。我已将...
在不使用质量矩阵的情况下,ODE求解器(如ode45)可以解决y'=f(t,y)。 但是,在涉及“质量”矩阵M(t,y)y'=f(t,y)的问题中,ODE求解器中有一个质量矩阵选项。 那么,“质量”矩阵到底是什么?这个术语来自于质量-弹簧系统振荡的质量吗?我在文档中找不到关于此的示例代码。...
我正在尝试测试Julia ODE求解器的速度。我在教程中使用了Lorenz方程: using DifferentialEquations using Plots function lorenz(t,u,du) du[1] = 10.0*(u[2]-u[1]) du[2] = u[1]*(28...
我遇到了一个无法解决的问题。我想使用nlme或nlmODE来执行具有随机效应的非线性回归,以固定系数的二阶微分方程的解作为模型(阻尼振荡器)。 我成功地使用nlme进行简单模型的建立,但似乎使用deSolve生成微分方程的解会导致问题。以下是一个示例和我面临的问题。 数据和函数 这是使用...
scipy.integrate.ode 接口提供了一种方法,用于在任何步骤上违反约束条件时停止积分,称之为 set_solout。然而,即使在最简单的示例中,我也无法让此方法正常工作。以下是一个尝试: import numpy as np from scipy.integrate impo...
尝试使用solve_ivp的向量化选项,但出现了一个奇怪的错误,提示y0必须是一维的。 MWE: from scipy.integrate import solve_ivp import numpy as np import math def f(t, y): theta = m...
我正在尝试实现分裂-傅里叶方法,以解决光学中的非线性薛定谔方程。基本上它将线性部分和非线性部分分开处理。它通过使用傅里叶变换解决线性部分,并在时间域中解决非线性部分。 以下代码来自一本书: alpha = 0 beta_2 = 1 gamma = 1 T = linspace(-5,5,...
我正在尝试使用ode45来解决一组常微分方程组: [X,Y]= ode45(@sys,[0, T],y0); 其中, function dy = sys(t,y) dy(1) = f_1(y) dy(2) = f_2(y) dy(3)...
我正在学习Haskell,并尝试以与C相同的速度编写代码。对于这个练习,我正在为一个简单的一维物理系统编写欧拉积分器。 C代码使用GCC 4.5.4和-O3编译。它运行需要1.166秒。 Haskell代码使用GHC 7.4.1和-O3编译。它运行需要21.3秒。 如果我使用-O3 -fl...
我正在尝试使用scipy中的odeint求解一个二阶ODE。我遇到的问题是函数隐式地与二阶项相耦合,如简化的代码片段所示(请忽略示例中的假物理内容): import numpy as np from scipy.integrate import odeint def integral(y,...