如何用Python解决僵化的颂歌?

发布于 2024-12-24 17:59:00 字数 131 浏览 2 评论 0原文

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

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

I'm a Python beginner. I'm trying to switch some programs that I have in matlab.
I need solve a stiff ode equation, whose inputs are all matrices. In matlab I use

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

甜心小果奶 2024-12-31 17:59:00

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

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

PyDSTool可能也与您相关。它是 Radau 解算器的包装器。

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

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

For most things you do in Matlab, you can do them with the NumPy module in Python. It can be found here.

You might also find the related module SciPy useful as well.

PyDSTool might also be of relevance to you. It's a wrapper around the Radau solver.

Then you might like to try matplotlib for plotting. It works quite like Matlab's plotting thing.

The following links might help, too:

夏了南城 2024-12-31 17:59:00

如果您向我展示微分方程,我可以为您提供更多帮助,但一般来说,求解刚性 ODE 系统的一个好方法是通过下一句话:

solution = scipy.integrate.solve_ivp(function, [t_0, t_f], y0, method='BDF', first_step =0.0001, dense_output=True)

您的函数必须事先以这种方式定义: function(t, 对于刚性

t_0 = initial value for time
t_f = final value for time
y0  = value of your variables at t_0

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

以获取有关代码选项的更多信息:<一href="https://docs.scipy.org/doc/scipy/reference/ generated/scipy.integrate.solve_ivp.html" rel="nofollow noreferrer">https://docs.scipy.org/doc/scipy/参考/生成/scipy.integrate.solve_ivp.html

If you show me the differential equations I can help you a little more, but in general, a good way to solve a stiff ODE system is through the next sentence:

solution = scipy.integrate.solve_ivp(function, [t_0, t_f], y0, method='BDF', first_step =0.0001, dense_output=True)

where your function has to be defined previously in this way: function(t,variable,parameters)

t_0 = initial value for time
t_f = final value for time
y0  = value of your variables at t_0

For stiff ODE system, I suggest use the method 'BDF' (is typically used in the solve of microkinetic systems in reactors, where the importance of the time could change a lot)

for more infomation about the options of the code: https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.solve_ivp.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文