• # c'est beau avec un peu de markdown

    Posté par . En réponse au message Equation de réaction-diffusion modélisation. Évalué à 7.

    u = np.random.rand(size, size)
    v = np.random.rand(size, size)
    def laplacian(Z):
     Ztop = Z[0:-2,1:-1]
     Zleft = Z[1:-1,0:-2]
     Zbottom = Z[2:,1:-1]
     Zright = Z[1:-1,2:]
     Zcenter = Z[1:-1,1:-1]
     return (Ztop + Zleft + Zbottom + Zright - 4 * Zcenter) / dx**2
    for i in range(n):
     deltaU=laplacian(u)
     deltaV=laplacian(v)
     ui=u[1:-1,1:-1]
     #Conditions initiales
     vi=v[1:-1,1:-1]
     #calcul de u[i,j] à partir de ui[i,j]; pareil pour v et vi
     u[1:-1,1:-1],v[1:-1,1:-1]=ui+dt*(a*deltaU+ui*(vi*2-1)-12),vi+dt*(b*deltaV+16-vi)
    plt.imshow(u,cmap=plt.cm.bone, extent=[-1,1,-1,1]);
    plt.xticks([]); plt.yticks([]);
    plt.colorbar()
    show()