我已经定义了一个python类来计算差分方程组的解。所以我定义了一个名为Rhs(右侧和侧面)的类,它们应代表dy / dt的右侧和侧面(第i个)这个类包含一个浮点值(初始时间,初始值,最终时间)和函数(函数数组)为了定义这个数组我简单地定义了3个lambda函数,该函数表示等式(i)并创建了这个函数的np.arrayfunc1 = lambda t,u : 10 * (u[1] - u[0])
func2 = lambda t,u : 28 * u[0] - u[1] - u[0] * u[2]
func3 = lambda t,u : -8/3 * u[2] + u[0]*u[1]
然后以这种方式传递给rhs类:func = np.array([func1,func2,func3])
y0 = np.array([1.,0.,0.])
problem3 = rhs.Rhs(func,0.0,100.0,y0,1000)
Rhs类是这样的:class Rhs:
def __init__(self, fnum : np.ndarray , t0: np.float, tf: np.float, y0 : np.array, n: int , fanal = None ):
self.func = fnum
Rhs.solution = fanal
self.t0 = t0
self.tf = tf
self.n = n
self.u0 = y0
def createArray(self):
'''
Create the Array time and f(ti