如何将ODE23从Matlab翻译成Python

2024-09-25 16:19:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将我的代码从MATLAB翻译成Python。我遇到的问题是如何将一个ODE翻译成Python。我在网上读到了我可以用的东西scipy.integrate.ode/scipy.集成.odeint为了这个。不幸的是,我不能得到我想要的方式。在

我的MATLAB代码如下:

function [W] = PSFFA_MM1 (arrivalRate, serviceRate)

tspan = 1:1:96;
ic = 0;
opts = odeset('RelTol',1e-2,'AbsTol',1e-4);

[t,x] = ode23(@(t,x) myode(t,x,arrivalRate, serviceRate), tspan,ic,opts);

    function dxdt = myode(t,x,lambda, MU)
    l = interp1(lambda, t);
    mu = interp1(MU, t);
    dxdt = -mu*(x/(x+1)) +l;
    end

W = x./arrivalRate;

end

我的Python代码如下:

^{pr2}$

我正在努力解决的一个问题是,在MATLAB中不需要显式地指定'x',而这必须在Python中明确指定。在

我知道这不是一个具体的问题,但我希望有人能进一步帮助我。在


Tags: lambda代码rateservicefunctionscipymatlabic