Comment tracer une courbe sur Gnuplot en 3D?

Résolu/Fermé
hbelaid Messages postés 15 Date d'inscription lundi 27 avril 2009 Statut Membre Dernière intervention 30 janvier 2011 - 28 oct. 2009 à 14:12
 mathil2ska - 9 avril 2014 à 10:50
Bonjour,

Je dois représenter la solution d'une équation d'advection (équation différentielle du 1er ordre qui dépend du temps t et de l'espace x) sur Gnuplot sous Linux

Il s'agit d'une équation de la forme:
du/dt + c du/dx + (c'/2) u = 0

Je résous cette équation à partir d'une discrétisation et avec le schéma de Runge Kutta 4

Dans un fichier .dat je stocke des valeurs du temps t dans une colonne, des valeurs de la la variable d'espace x dans la 2ème colonne et les valeurs de la fonction u obtenue dans la 3ème (u=u(t,x))
Je veux donc repésenter u en fonction de t et de x

Dans un terminal je tape gnuplot
ensuite :

set pm3d at s
splot 'calcul_u.dat' with pm3d

et là on m'écrit "Single isoline (scan) is not enough for a pm3d plot. Hint: missing blank lines in the data file?"

alors que j'ai N variables t, N variables x et N variables u dans le fichier. j'arrive pas à mettre le doigt sur mon erreur

Pourriez vous m'aider SVP

Merci
A voir également:

5 réponses

hbelaid Messages postés 15 Date d'inscription lundi 27 avril 2009 Statut Membre Dernière intervention 30 janvier 2011
28 oct. 2009 à 15:31
C bon j'ai compris mon erreur :S
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
28 oct. 2009 à 16:20
Salut.
ça aurai été bien de mettre comment tu as résolue le problème.
Je suppose que c'est l'utilisation de pm3d qui est fait pour faires des cartes (des surfaces) en 3D, c'est à dire plutôt un truc du genre u(x,y)=f(x,y) une variable à 2 dimensions (une surface), alors que ton fichier de données permet de faire une simple courbe du genre zi=f(xi,yi) (par exemple un ressort, ou un attracteur de Lorentz).
Supprimer pm3d devrai faire l'affaire.
0
slt
utilise tous simplement splot et t'auras une courbe en 3D
splot "'calcul_u.dat'' w l par exemple
0
Bonjour, j'ai un projet d'info à realiser qui s'intitule "reflexion d'un rayon lumineux sur une sphere". J'ai resolu le probleme dans le plan, ce qui fait que j'ai un probleme avec un cercle. J'aimerais desormais passer du cercle a la sphere pour visualiser mon probleme dans l'espace. Comment faire ?? Merci pour votre aide !! Je suis en retard !
0
Bonjour, j'ai un projet d'info à realiser qui s'intitule "reflexion d'un rayon lumineux sur une sphere". J'ai resolu le probleme dans le plan, ce qui fait que j'ai un probleme avec un cercle. J'aimerais desormais passer du cercle a la sphere pour visualiser mon probleme dans l'espace. Comment faire ?? Merci pour votre aide !! Je suis en retard !
0
il faut utiliset splot "data.dat" using 1:2:3
avec le fichier data suivant

X Y Value
0 0 10
0 1 10
0 2 9
0 3 8
0 4 7

1 0 10
1 1 9
1 2 8
1 3 7
1 4 6

2 0 10
....

les differentes valeurs des X doivent etre doublement espacees pour obtenir une grille

http://t16web.lanl.gov/Kawano/gnuplot/datafile-e.html

en ajoutant
set pm3d map
on obtient une courbe de densite
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le pb est mal posé!!!
il ya une itération sur la variable espace:
et l'autre itération (sur la variable temps) est implicite.
donc, le pb est unidimentionnel et un 3D
Résumé:
initialisation
etc...
t = t0
tant que x < xmax faire
x = x + dx
u = uold + dt* (...) + (...)
ecrire le résultat dans un fichier du type f(t,x)
t = t + dt
fin tantque sur x
fin
0