Skipping data..
Discutez d'informatique ici !
-
chuchi
- Membre Relatif
- Messages: 121
- Enregistré le: 30 Oct 2008, 17:30
-
par chuchi » 23 Fév 2013, 18:31
bonjour,
j'ai une série de valeur de la sorte :
1,222 1,222
1,8 1,89
2,15889 2,14578
et lorsque je veux tracer ces point sous gnuplot, il me retourne
skipping data file with no valid points
x range is invalid
je sais pas d'où ça vient, merci de m'aiguiller .. (ps : je suis pas très connaisseur en c++ ..)
-
ampholyte
- Membre Transcendant
- Messages: 3940
- Enregistré le: 21 Juil 2012, 07:03
-
par ampholyte » 25 Fév 2013, 09:41
Bonjour,
Je te conseille la notation 3.5 plutôt que 3,5 sous gnuplot.
Tu dois également set le datafile separator ","
gnuplot > set datafile separator "," # Tu peux mettre n'importe quoi ici
gnuplot > set datafile separator "\t"
gnuplot > set datafile separator "?"
ect..
Petite question ces valeurs se trouvent-elles dans un fichier ?
-
chuchi
- Membre Relatif
- Messages: 121
- Enregistré le: 30 Oct 2008, 17:30
-
par chuchi » 25 Fév 2013, 18:11
ampholyte a écrit:Bonjour,
Je te conseille la notation 3.5 plutôt que 3,5 sous gnuplot.
Tu dois également set le datafile separator ","
gnuplot > set datafile separator "," # Tu peux mettre n'importe quoi ici
gnuplot > set datafile separator "\t"
gnuplot > set datafile separator "?"
ect..
Petite question ces valeurs se trouvent-elles dans un fichier ?
non, c'est le résultat d'un calcul sous fichier .cpp,
dans mon .txt ya rien a part
#osci.txt
#
#afficher z afficher x
donc je sais pas si tes commandes seront utiles ??
merci
-
chuchi
- Membre Relatif
- Messages: 121
- Enregistré le: 30 Oct 2008, 17:30
-
par chuchi » 26 Fév 2013, 02:21
chuchi a écrit:non, c'est le résultat d'un calcul sous fichier .cpp,
dans mon .txt ya rien a part
#osci.txt
#
#afficher z afficher x
donc je sais pas si tes commandes seront utiles ??
merci
ou alors, ya t'il moyen de copier directement les valeurs calculés dans le fichier .txt ??
-
ampholyte
- Membre Transcendant
- Messages: 3940
- Enregistré le: 21 Juil 2012, 07:03
-
par ampholyte » 26 Fév 2013, 09:32
Cela risque d'être difficile de t'aider sans ton code. Est-ce que tu pourrais poster ton code source ici pour que l'on puisse voir ce qui ne va pas ?
-
chuchi
- Membre Relatif
- Messages: 121
- Enregistré le: 30 Oct 2008, 17:30
-
par chuchi » 28 Fév 2013, 16:45
ampholyte a écrit:Cela risque d'être difficile de t'aider sans ton code. Est-ce que tu pourrais poster ton code source ici pour que l'on puisse voir ce qui ne va pas ?
je m'excuse soucis de connection voici le code :
#include
#include
#include
using namespace std;
int main()
{
double x=1.0;
double z=0.0;
double t_max;
double t=0;
double h=0.1;
double omega0=10.;
double lambda=0.1;
cout>t_max;
cout>h;
fstream f;
f.open("osci.dat",ios::out);
while (t<t_max)
{
double k1, k2, k3, k4;
double l1, l2, l3, l4;
k1 = z;
l1 = -2*lambda*(z + (h/2)*l1) - omega0*omega0*x;
k2 = z + (h/2)*l1;
l2 = -2*lambda*(z + (h/2)*l1) - omega0*omega0*(x + (h/2)*k1);
k3 = z + (h/2)*l2;
l3 = -2*lambda*(z + (h/2)*l2) - omega0*omega0*(x + (h/2)*k2);
k4 = z + h*l3;
l4 = -2*lambda*(z + h*l3) - omega0*omega0*(x + h*k3);
x += (h/6)*(k1 + 2*k2 + 2*k3 + k4);
z += (h/6)*(l1 + 2*l2 + 2*l3 + l4);
t += h;
cout<< ""<<z<< " " <<x<< endl;
f.close();
}
return 0;
}
pour avoir un truc cohérent, faut prendre 10 et 0.1 ; on devoir observer un sinus décroissant au cours du temps
-
ampholyte
- Membre Transcendant
- Messages: 3940
- Enregistré le: 21 Juil 2012, 07:03
-
par ampholyte » 28 Fév 2013, 17:10
D'accord on s'était mal compris.
Je comprends parfaitement que tu génères ton fichier .dat (et non .txt) à partir de ton programme en C++.
Que fais-tu après ? Quels sont les commandes que tu utilises pour essayer de faire le plot ?
-
chuchi
- Membre Relatif
- Messages: 121
- Enregistré le: 30 Oct 2008, 17:30
-
par chuchi » 01 Mar 2013, 03:23
ampholyte a écrit:D'accord on s'était mal compris.
Je comprends parfaitement que tu génères ton fichier .dat (et non .txt) à partir de ton programme en C++.
Que fais-tu après ? Quels sont les commandes que tu utilises pour essayer de faire le plot ?
et bah je fais juste
plot "... .txt"
comment je fais à générer les valeurs dans le fichiers? je crois que c'est ça qu'il me faut non ? désolé je suis très mauvais en c++
-
ampholyte
- Membre Transcendant
- Messages: 3940
- Enregistré le: 21 Juil 2012, 07:03
-
par ampholyte » 01 Mar 2013, 09:19
Bonjour,
Ba en fait, ce que je ne comprends pas c'est comment fais-tu pour faire un plot "... .txt" alors que le fichier généré en C++ est un fichier .dat ?
Génères-tu un autre fichier .txt ?
Le code en C++ que tu as mis, est celui que tu utilises ?
Comme il y a pas mal de problème dans ton code, voici le mien qui rempli un fichier osci.txt
- Code: Tout sélectionner
#include
#include
#include
using namespace std;
int main() {
double x=1.0;
double z=0.0;
double t_max;
double t=0;
double h=0.1;
double omega0=10.;
double lambda=0.1;
cout > t_max;
cout > h;
ofstream f("osci.txt");
while (t<t_max) {
double k1, k2, k3, k4;
double l1, l2, l3, l4;
k1 = z;
l1 = -2*lambda*(z + (h/2)*l1) - omega0*omega0*x;
k2 = z + (h/2)*l1;
l2 = -2*lambda*(z + (h/2)*l1) - omega0*omega0*(x + (h/2)*k1);
k3 = z + (h/2)*l2;
l3 = -2*lambda*(z + (h/2)*l2) - omega0*omega0*(x + (h/2)*k2);
k4 = z + h*l3;
l4 = -2*lambda*(z + h*l3) - omega0*omega0*(x + h*k3);
x += (h/6)*(k1 + 2*k2 + 2*k3 + k4);
z += (h/6)*(l1 + 2*l2 + 2*l3 + l4);
t += h;
f << z << " " << x << endl;
}
return 0;
}
-
chuchi
- Membre Relatif
- Messages: 121
- Enregistré le: 30 Oct 2008, 17:30
-
par chuchi » 01 Mar 2013, 12:54
oui oui , c'est le même à l'identique ... bah je suis le protocole du prof vu que je connais pas trop ..
ça me retourne toujours la même erreur , je comprend pas :cry:
-
fatal_error
- Modérateur
- Messages: 6610
- Enregistré le: 22 Nov 2007, 12:00
-
par fatal_error » 01 Mar 2013, 13:03
bjr
- Code: Tout sélectionner
if (f == NULL) {
cout << "Impossible de creer osci.txt" << endl;
return 1;
}
c'est inutile. f sera jamais NULL.
plutot tester: f.good()
la vie est une fête

-
chuchi
- Membre Relatif
- Messages: 121
- Enregistré le: 30 Oct 2008, 17:30
-
par chuchi » 01 Mar 2013, 13:19
et même avec ton code, mon .txt se remplit pas
-
ampholyte
- Membre Transcendant
- Messages: 3940
- Enregistré le: 21 Juil 2012, 07:03
-
par ampholyte » 01 Mar 2013, 13:36
Merci pour la correction, étant plus habitué au C les habitudes sont fortes :D
As-tu bien regardé dans ton fichier .txt si il y avait les valeurs souhaitées ? As-tu essayé cette commande ?
plot 'nom_de_ton_fichier.txt' using 1:2
-
chuchi
- Membre Relatif
- Messages: 121
- Enregistré le: 30 Oct 2008, 17:30
-
par chuchi » 01 Mar 2013, 19:26
en faite c'est ça le soucis , mes valeurs ne sont pas copiés dans le .txt !
-
ampholyte
- Membre Transcendant
- Messages: 3940
- Enregistré le: 21 Juil 2012, 07:03
-
par ampholyte » 01 Mar 2013, 19:54
As-tu essayé avec mon code. Le tien ne peut pas copier les valeurs dans le .txt vu que tu rediriges le flux vers out et non vers le fichier
Remplace :
- Code: Tout sélectionner
cout<< ""<<z<< " " <<x<< endl;
- Code: Tout sélectionner
f << z << " " << x << endl;
Où utilise le code que je t'ai passé
-
chuchi
- Membre Relatif
- Messages: 121
- Enregistré le: 30 Oct 2008, 17:30
-
par chuchi » 02 Mar 2013, 00:08
oki alors là c'est bon mes valeurs sont biens dans le fichier .txt !! merci bcp
mais je pige pas pq gnuplot s'ouvre pas qd je tape plot "osci.txt" using 1:2 ...
-
ampholyte
- Membre Transcendant
- Messages: 3940
- Enregistré le: 21 Juil 2012, 07:03
-
par ampholyte » 02 Mar 2013, 14:18
Lorsque tu entres d'autres commandes ou un plot d'une fonction as-tu une fenetre qui s'ouvre ? Es-tu sur Linux/Windows/Mac ?
-
chuchi
- Membre Relatif
- Messages: 121
- Enregistré le: 30 Oct 2008, 17:30
-
par chuchi » 03 Mar 2013, 13:14
je suis sur linux , je jette un oeil cet après midi je te retiens au courant !!
-
chuchi
- Membre Relatif
- Messages: 121
- Enregistré le: 30 Oct 2008, 17:30
-
par chuchi » 03 Mar 2013, 20:16
non même un plot bidon il l'affiche pas ..
-
ampholyte
- Membre Transcendant
- Messages: 3940
- Enregistré le: 21 Juil 2012, 07:03
-
par ampholyte » 04 Mar 2013, 09:03
Essaye de vérifier que le package gnuplot-x11 est installé, sinon installe le, c'est ce qui gère les interfaces graphiques sous gnuplot-linux.
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités