Je travaille sur l'utilisation du principe de différence directe pour résoudre numériquement la fonction de diffusion dans une dimension. Mon tracé final de la solution devrait être une surface où la solution u (x, t) est tracée sur une grille de valeurs x et t. J'ai le problème résolu, mais je ne peux pas obtenir les données à tracer avec la représentation de la grille.Surface du tracé au lieu de la courbe paramétrique
je peux penser à 2 façons de résoudre ce:
1.) Mes tableaux x et t doivent être une dimension, mais mon tableau u devrait être un tableau 2D. En fin de compte, je veux une matrice carrée pour vous, mais j'ai du mal à coder cela. Actuellement, j'ai un tableau 1D pour vous. Voici le code où vous êtes peuplé.
u = zeros(Nx+1) # unknown u at new time level
u_1 = zeros(Nx+1) # u at the previous time level
# Set initial condition u(x,0) = I(x)
for i in range(0, Nx+1):
#set initial u's to I(xi)
u_1[i] = 25-x[i]**2
for n in range(0, Nt):
# Compute u at inner mesh points
for i in range(1, Nx):
u[i] = u_1[i] + F*(u_1[i-1] - 2*u_1[i] + u_1[i+1])
2.) Le code ci-dessus renvoie un tableau 1D pour u, est-il possible de tracer une surface 3D avec trois tableaux 1D pour x, y, z?