Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用Python解决僵硬的ode?_Python_Matlab_Numpy_Scipy_Ode - Fatal编程技术网

如何用Python解决僵硬的ode?

如何用Python解决僵硬的ode?,python,matlab,numpy,scipy,ode,Python,Matlab,Numpy,Scipy,Ode,我是Python初学者。我正在尝试切换我在matlab中的一些程序。 我需要解一个刚性常微分方程,它的输入都是矩阵。在matlab中我使用 [ttT,uT] = ode23s('SST',t,fT); 对于在Matlab中执行的大多数操作,可以使用Python中的NumPy模块执行。可以找到它 您可能还会发现相关模块也很有用 也可能与你有关。这是一个包裹在雷达解算器上的包裹 那么您可能想尝试进行绘图。它的工作原理很像Matlab的绘图工具 以下链接也可能有所帮助: 如果你给我看微分方程

我是Python初学者。我正在尝试切换我在matlab中的一些程序。 我需要解一个刚性常微分方程,它的输入都是矩阵。在matlab中我使用

[ttT,uT] = ode23s('SST',t,fT);

对于在Matlab中执行的大多数操作,可以使用Python中的NumPy模块执行。可以找到它

您可能还会发现相关模块也很有用

也可能与你有关。这是一个包裹在雷达解算器上的包裹

那么您可能想尝试进行绘图。它的工作原理很像Matlab的绘图工具

以下链接也可能有所帮助:


如果你给我看微分方程,我可以帮你多一点,但一般来说,解决僵硬的ODE系统的一个好方法是通过下一句话:

solution = scipy.integrate.solve_ivp(function, [t_0, t_f], y0, method='BDF', first_step =0.0001, dense_output=True)
您的函数之前必须以这种方式定义:函数(t、变量、参数)

对于刚性ODE系统,我建议使用“BDF”方法(通常用于求解反应器中的微动力学系统,其中时间的重要性可能会发生很大变化)


有关代码选项的更多信息:

您能用数学符号描述它吗?并非每个人都熟悉matlab。这可能有用:ode23s是matlab中刚性方程的求解器在本例中,SST是一个辅助函数,它建立了状态空间关系,z=a*z+B,a和B是矩阵。A是正方形,B是圆柱。t是一个具有时间增量的数组,fT是一个具有初始条件的数组。非常感谢。我已经安装了numpy和scipy。通过谷歌,我找到了盖茨先生的页面。然而,我不知道如何安装他的“模块”。我认为盖茨的方法使一切变得简单。我不是环保署的用户。对不起,最后一个链接对我来说太模糊了。我不知道哪个有用,哪个没用!我“只是”想要一个简单的东西,但我是python中的人物,不是!要安装盖茨的模块,请执行以下步骤:1)解压缩归档文件。2) 假设您解压缩到C:\ode-0.1a4.tar。确认此文件夹中有一个名为“setup.py”的文件。3) 现在打开此文件夹中的命令行并运行以下命令:“python setup.py install”。这将在您的机器上安装模块。现在,您可以导入此模块,并按照盖茨先生在其页面上的描述使用它。如果需要订阅,请对EPD链接表示抱歉。我将删除它。我已添加到PydTool和matplotlib模块的链接。也一定要看一看。
t_0 = initial value for time
t_f = final value for time
y0  = value of your variables at t_0