我有一个函数,它可以模拟一个生化方程系统。我的主管已经要求我开始并行化它,并希望我从同时运行整个函数几次开始。下面是一张由一次模拟绘制的图,基本上我想让这个图显示5倍于并行运行的5个相同进程的结果
这是我用来绘制图表的代码:
for i, label in enumerate(['Enzyme', 'Substrate', 'Enzyme-Substrate complex', 'Product']):
plt.plot(tao_all, popul_num_all[:, i], label=label)
plt.legend()
plt.tight_layout()
plt.show()
tao_all
是一个包含系统当前时间的数组,popul_num_all
是另一个包含系统中每个物种的所有离散分子数的数组。这两个都在while
循环的每次迭代后更新
这是我到目前为止为并行化部分编写的代码:
if __name__ == '__main__':
with Pool() as Pool:
result = Pool.apply_async(gillespie_tau_leaping, [propensity_calc, popul_num, LHS, stoch_rate, popul_num_all, tao_all, rxn_vector, tao, epsi])
print(result.get(timeout=1))
我的系统运行,模拟反应并绘制上图,然后程序到达并行化部分并再次运行,但返回下图:
我有点不确定这两个代码片段的顺序,我应该先运行并行化,然后将结果传递给绘图位吗
为什么图形在并行化之后会发生这样的变化
目前没有回答
相关问题 更多 >
编程相关推荐