python里想用multiprocessing用倒向Euler方法跑多个解
import numpy as np
import matplotlib.pyplot as plt
import math
import time
import multiprocessing as mp
def backf(y, k, x):
return x + 0.4 * dt - y
def x2appro(dt):
X0 = X
X1 = X0 + dt
Y = fsolve(backf,X1,args=(dt,X0), xtol=tol, maxfev=100)
print(Y)
def x2exact(dt):
X0 = X
X1 = X0 + dt
Y = fsolve(backf,X1,args=(dt,X0), xtol=tol, maxfev=100)
print(Y)
cores=mp.cpu_count()
if __name__ == '__main__':
p = mp.Pool(cores-1)
p.apply_async(x2appro, [1/2])
p.apply_async(x2exact, [1/4])
p.close()
p.join()
运行过程中没有成功调用fsolve函数计算反解方程的代码
想在multiprocessing的每个p.apply_async中调用fsolve解方程