python - 如何在 Python 中随时间改变动态系统的参数?

标签 python numpy scipy differential-equations

我正在尝试根据模型的当前时间更改参数。

我设置了一个函数:

def func(state,t):
  x = state[0]
  y = state[1]
  z = state[2]

  Iapp = 0.7

  xd = ... + Iapp
  yd = ...
  zd = ...

我想让 Iapp 随时间变化。即,我需要它从时间 50 到时间 500 为 -0.7。

我目前的努力几乎没有改变我的情节:

for t in range(50,500):
    Iapp = -0.7
else: 
    Iapp = 0.7

有什么想法吗?

最佳答案

您的代码会将 Iapp 设置为 -0.7 450 次,然后将其设置为 0.7。这就是为什么您看不到任何变化的原因。你需要的是 if statement :

if 50 <= t <= 500:
    Iapp = -0.7
else:
    Iapp = 0.7

或者,如果您想要单线:

Iapp = -0.7 if 50 <= t <= 500 else 0.7

关于python - 如何在 Python 中随时间改变动态系统的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27456994/

相关文章:

python - 安排笨重进口的正确方法是什么

python - GitHub:如何检查我是否已经拥有当前的主分支 zip?

python - 复杂阵列的智能打印

python - scipy优化无法找到正确的结果

python - 使用 `scipy.sparse` 构建一个简单的线性系统

python - N点与numpy/scipy中的引用之间的有效距离计算

Python:如何找到子数组元素中的最小值和最大值?

python - 属性错误 : (Class) object has no attribute '__name__' Creating ModelForms [Django & Python2. 7]

python - 计算 DataFrame 中的行增量值

python - numpy 返回指数的 nans。纯 Python 返回正确的结果