Tracé d'une surface

Fermé
Iritrix Messages postés 105 Date d'inscription samedi 27 février 2016 Statut Membre Dernière intervention 15 février 2021 - 15 févr. 2021 à 19:22
yg_be Messages postés 22675 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 avril 2024 - 15 févr. 2021 à 22:27
Bonjour,

J'aimerais tracer une surface sur Python à partir de points.

En gros :

j'ai x qui varie de 0 à 10 avec un pas de 0.1
j'ai t qui varie de 0 à 5 avec un pas de 0.1
j'ai une matrice qui contient toutes les valeurs de la fonction u(x,t) des différents couples (x,t) possibles.

J'aimerais donc avoir la surface générée par x, t, et u(x,t)

Je vous joins mon programme :

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
def resolution_edp(L,T,h,dt,c,T0,X0):

N=math.ceil((L/h)-1)
NT=math.ceil((T/dt)-1)
S=np.zeros(shape=(NT,N))

A=np.zeros(shape=(NT+1,N+1))
for i in range(10,21):
A[0][i]=T0
for i in range(1,NT):
A[i][0]=X0

for j in range(0,NT-1):
for i in range(1,N):
A[j+1][i]=A[j][i]-(dt/h)*c*(A[j][i]-A[j][i-1])
S[j][i-1]=A[j+1][i]

return S,S.shape
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

Pour vous restituer le contexte, je dois résoudre une équation d'advection unidimensionnelle selon x aux dérivées partielles, instationnaire, par différence finie.

La fonction me retourne la matrice S, qui contient pour mes différents incréments de temps et d'espace, la valeur de la fonction u(x,t).

Mais pour le tracé de la surface, je ne sais pas comment faire comprendre à Python de faire correspondre chaque couple (x,t) à sa valeur dans la matrice S...

Merci de votre aide, hésitez pas à me demander plus d'infos si vous ne comprenez pas ce que je raconte ^^

1 réponse

yg_be Messages postés 22675 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 avril 2024 1 467
15 févr. 2021 à 22:27
bonjour,
merci d'utiliser les balises de code quand tu partages du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

en général, on n'essaie pas de faire comprendre quelque chose à Python, on lui donne des instructions pour produire un résultat.

je ne comprends pas le résultat que tu attends.
tu ne nous montres pas comment tu appelles ta fonction.
montre un exemple de comment tu traces une surface.

si je comprends bien, tu as 5000 tuples (x,t,u(x,t)): que veux-tu en faire?
0