【发布时间】:2020-06-05 10:34:21
【问题描述】:
我尝试用数值求解一个非常简单的方程 f = t**2。我编写了一个for循环,以便在第一个时间步使用f,然后将每个循环的解作为下一个循环的初始函数。
我不确定我的数值求解方法是否正确,并且由于某种原因,我的循环只工作了两次(一次通过 if- 然后是 else 语句),然后只给出零。
非常感谢任何帮助。谢谢!!!
## IMPORT PACKAGES
import numpy as np
import math
import sympy as sym
import matplotlib.pyplot as plt
## Loop to solve numerically
for i in range(1,4,1):
if i == 1:
f_old = t**2
print(f_old)
else:
f_old = sym.diff(f_old, t).evalf(subs={t: i})
f_new = f_old + dt * (-0.5 * f_old)
f_old = f_new
print(f_old)
【问题讨论】:
-
不清楚您要达到的目标。请发布您的输出和预期输出。
标签: python for-loop if-statement differential-equations derivative