numerical-integration

    1热度

    1回答

    我有一个用于计算酸性变化的ODE。一切工作都很好,只要酸度达到临界点时我就想改变常数。它应该是我想模拟的某种不可逆转的效果。 我的常量来自一个结构文件(c)我在ODE函数中加载一次。 [Time,Results] = ode15s(@(x, c) f1(x, c),[0 c.length],x0,options); 主要的问题我这里是不会告诉Matlab来改变常数,但记得如果在模拟过程中已经发

    3热度

    2回答

    我想在odeint C++ library中使用runge_kutta4方法。我已经在Matlab中解决了这个问题。在Matlab我下面的代码来解决x'' = -x - g*x',与初始值x1 = 1,x2 = 0,如下所示 main.m clear all clc t = 0:0.1:10; x0 = [1; 0]; [t, x] = ode45('ODESolver', t, x0);

    3热度

    1回答

    我试图创建一个天真的数值积分函数来说明蒙特卡洛积分在高维上的好处。我想是这样的: def quad_int(f, mins, maxs, numPoints=100): ''' Use the naive (Riemann sum) method to numerically integrate f on a box defined by the mins and m

    2热度

    1回答

    我正在使用matlab通过在表面上集成离散速度点来计算管道横截面的平均速度。点以散乱的形式散布,形成一个圆形(几乎)。 我使用分散插值创建一个函数,将x和y与v(velocity)相关联,以创建一个插值值的网格。 F = scatteredInterpolant(x, y, v,'linear'); vq = F(xq,yq); % where xq and yq are a set of q

    2热度

    1回答

    这可能是一个简单的问题,但我试图增加四个集成中的节点数量。我找不到这方面的相关文件。 我有一个一维函数(Dirac delta-like),它大多为零,但在非常窄的时间间隔内非零。所以自适应四元组无法捕获该间隔并返回零。我试图通过更多点抽样来捕捉峰值。你怎么做到这一点? SciPy文档并没有多大意义。 这个窄峰的位置发生变化。我不知道高峰的确切位置。

    0热度

    1回答

    很明显的是,semi-implicit Euler integration法辛,但我无法找到任何信息关于它的time-reversibility。所以这个问题:它是时间可逆的吗?

    0热度

    1回答

    我有点卡在函数上,我试图通过scipy,python进行数值整合。 为了简单起见,我将定义该函数为: integral f(x,y)= SUM[double integral(ax+by)dxdy] a和b是常数,但它们是为每一个被整合方程不同。我已经将每个函数分别进行了整合,然后将结果汇总到所有积分中,但这需要花费大量时间进行计算,并且对于我尝试实现的方法而言,这并不理想。 有集成全功能的方

    1热度

    1回答

    我试图模拟由ODE系统控制的物理过程的时间行为。当我将输入脉冲的width从20切换到19时,没有耗尽y(1)状态,这在物理上没有意义。我究竟做错了什么?我错误地使用了ode45吗? function test width = 20; center = 100; tspan = 0:0.1:center+50*(width/2); [t,y] = ode45(@ODEsystem,t

    2热度

    2回答

    我正在使用gsl来集成一个函数。该函数构建在一个lambda函数中,该函数具有double和void *作为输入,并且输出double。 现在,如果我使用没有任何变量捕获的lambda表达式,一切正常。但是如果我进行可变捕获,它就不再工作了。 任何人都可以解释我为什么这样吗? 这里有两个代码片段是我做了解释我的问题: 这一个正常工作: int main(int argc, char **argv)

    0热度

    1回答

    我在八度以下代码尝试使用辛普森的方法来实现自适应正交: function integral = adaptive2(f, a, b, TOL, count) max_count = 20; disp("hello world"); disp(count); h = (b-a)/2; x_1 = a; x_2 = (b-a)/2; x_3 = b; w_0 = a; w_1 =