问题标签 [numerical-integration]

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 回答
871 浏览

matlab - 插值后使用 ode45 求解 ODE

我正在使用以下代码,但找不到问题所在:

我明白了y2 = [3;NAN;NAN;NAN,.....]。然而,当我在调用 之前绘制两个方程时ode45,我发现它们是相等的,这并不奇怪。

当我计算时:

它工作正常。但我需要证明,如果我进行插值,我可以获得相同的结果。为什么这不起作用?

0 投票
0 回答
88 浏览

c - 从单个维加斯蒙特卡洛网格计算多个平均值

我正在使用库中实现的 Vegas(重要性采样)蒙特卡洛方法gsl来评估形式的各种积分I_i = int f(x) g_i(x) dx,不同g_i但相同f > 0。特别是,其中一个g_i,说g_0是相同的1,所以它对应的积分就是 的积分f。可以将另一个视为分布下I_i的平均值,更明确地说:g_if

由于重要性采样背后的想法是根据其绝对值对被积函数进行采样,我想知道是否有可能(并且有效)利用积分后获得的已经优化的网格,f并从该分布中采样所有的g_i,通过设置选项stage=3并将调用中的被积函数更改为gsl_monte_vegas_integrate.

0 投票
2 回答
7106 浏览

matlab - ODE45 和 Runge-Kutta 方法的绝对误差与解析解的比较

如果有人可以帮助解决以下问题,我将不胜感激。我有以下 ODE:

我以两种不同的方式解决了(1)。通过Runge-Kutta 方法(四阶)和ode45在 Matlab 中。我将这两个结果与解析解进行了比较,解析解由下式给出:

当我绘制每种方法相对于精确解的绝对误差时,我得到以下信息:

对于 RK 方法,我的代码是:

在此处输入图像描述

对于ode45

在此处输入图像描述

我的问题是,为什么我在使用时会出现振荡ode45?(我指的是绝对错误)。两种解决方案都是准确的 ( 1e-9),但ode45在这种情况下会发生什么?

当我计算 RK 方法的绝对误差时,为什么它看起来更好?

0 投票
1 回答
413 浏览

matlab - Matlab中的摆动弹簧ODE系统-如何使位置矢量跟随路径?

我对 Matlab 很陌生。我有一个脚本,在 Matlab 上使用ode45并显示摆动弹簧在通过 3-D 空间时的运动。arrow.m该程序几乎正在做我想做的事。现在,钻石的密度正在显示有效的弹簧速度(除了当ode45将其作为个人最喜欢的数字样本),并且速度几乎可以通过函数的步长(至少以我的计算机运行代码的速度)准确计算。我想要做的是让我在代码中注释掉的位置矢量只显示在质量的瞬时位置,即曲线的端点,而不是钻石出现的每个点。我四处寻找帮助,但我尝试的一切似乎都会导致错误。如果有人能指出我正确的方向,那将不胜感激。请尝试运行程序,你会明白我的意思,也可以玩弄函数的参数。

0 投票
1 回答
3508 浏览

matlab - 在 MATLAB 中绘制向量的轨迹

作为示例,我使用 x 和 y 轴在 MATLAB 中创建了以下数据:

如何仅使用此数据绘制向量 dxx(t) vs dyy(t)(时间 t 的净轨迹)?

0 投票
1 回答
441 浏览

python - sympy 中的四边形问题

有人可以解释一下,为什么:

给出一个错误并且

工作正常?如何使第一个版本正常工作?

0 投票
1 回答
1859 浏览

matlab - Matlab:强制弹簧质量阻尼器的 ode45 输出不正确

这是我的 Matlab 代码,用于求解质量弹簧缓冲器系统的二阶 ODE:

我相信我得到的输出是错误的,因为在这种情况下,我认为位移与时间的关系图应该看起来像一个幅度减小的正弦曲线。相反,它看起来像这样: 松弛为幅度恒定的正弦曲线的递减函数

这对我来说似乎不正确,但如果我错了,请纠正我。我看不到代码中有什么不正确的地方。

0 投票
1 回答
62 浏览

matlab - 积分,“移位”被积函数,Matlab

我有一个积分方程,我需要用 Matlab 进行数值求解,但我目前陷入困境。我只需要一些关于如何用 Matlab 处理这些问题的关键思想的帮助,所以我将把它从大多数数学中剥离出来。

在此处输入图像描述

在我的代码Z中,g和 omega:w是相同大小的向量,Z(1)对应于w(1)等,并且f是一个函数。

我如何w-w_prime以最好的方式对待“转变”?当w-w_prime对应于外部Zg. Z我一直在想,在我的问题中,我可以使用,g和对应于偶数函数的事实f,但我不太清楚如何使用。

0 投票
0 回答
1048 浏览

matlab - 使用 for 循环用 Matlab 数值计算积分的总和

我正在尝试使用 Matlab 评估以下类型的问题。

在此处输入图像描述

其中求和是wn一个向量,积分的变量是wPrimew,wnRi给出向量。

我尝试过的是:使用两个for循环。

但我知道在 Matlab 中 for 循环非常慢,所以我想知道是否有更好的方法来解决这个问题?

0 投票
2 回答
8817 浏览

python - 求解隐式 ODE(微分代数方程 DAE)

我正在尝试使用 scipy 中的 odeint 解决二阶 ODE。我遇到的问题是函数隐式耦合到二阶项,如简化片段所示(请忽略示例的假装物理):

在这种情况下,我意识到可以对隐式变量进行代数求解,但是在我的实际场景中,两者之间存在很多逻辑F_r,并且代数操作的评估a失败。

我相信 DAE 可以使用 MATLAB 的ode15i函数来解决,但如果可能的话,我会尽量避免这种情况。

我的问题是-有没有办法解决python中的隐式ODE函数(DAE)(最好是scipy)?有没有更好的方法来提出上述问题?

a作为最后的手段,从前一个时间步长通过是可以接受的。我怎么能dydt[1]在每个时间步之后传回函数?