如何使 python 的指数增长到等同于 c++ 的代码

How to make python of exponential growth to code equivalent to c++?

本文关键字:等同于 c++ 代码 何使 python 指数      更新时间:2023-10-16

在此代码中,我正在计算 ODE u'(tk(=u(tk(=uk 解的数值近似值,并存储所有 uk 和 tk 值,如下所示。

法典:

def compute_u(u0,T,n):
    t = linspace(0,T,n+1)
    t[0] = 0
    u=zeros(n+1)
    u[0]= u0
    dt = T/float(n)
    for k in range(0, n, 1):
        u[k+1] = (1+dt)*u[k]
        t[k+1] = t[k] + dt
    return u, t

我现在正在尝试将此代码实现到 c++ 中,在此过程中我面临着一些障碍。我在C++方面相对较新,我想知道这个论坛中是否有人可以指出我正确的方向,因为 python 具有 c++ 没有的功能,例如 linspace 或零。任何输入都会有所帮助。

这里有 linspace:

std::vector< float > linspace(float a, float b, uint32_t n)
{
    std::vector< float > result(n);
    float step = (b - a) / (float) (n - 1);
    for (uint32_t i = 0; i <= n - 2; i++) {
        result[i] = a + (float) i * step;
    }
    result.back() = b;
    return result;
}

自己尝试零。

或者更好的解决方案:使用特征,它具有这两个功能。