2009-06-10 6 views
1

Gnuplot, un super paquet ... J'en suis amoureux. Mais nous pouvons aussi avoir nos tiffs, comme n'importe quel couple :-) Cette fois, je voulais simplement tracer les racines d'une équation: dire un quadratique pour garder les choses simples. Cependant, je veux seulement deux beaux points ronds apparaissant sur l'axe des x représentant le point où le quadratique croise l'axe des x ou y = 0. En d'autres termes, les racines (quand elles sont réelles). Je ne veux pas faire cela avec le fichier de données ... Je veux que gnuplot calcule les racines et les trace.gnuplot: n'affiche que les racines

Tout d'abord, mes tentatives: les points uniques ne sont pas vraiment ce que gnuplot voudrait vous tracer, il aime un bon éventail de valeurs. De préférence remplir toute la largeur de votre toile.

Il est possible de trouver un rectangle à une certaine coordonnée sur votre tracé, mais je voulais un point rond. Actuellement, je suis à la recherche d'un petit polygone rempli à ce moment-là. J'ai essayé l'option "samples" mais ça ne me semble pas utile. Il est également nécessaire de définir une fonction dirac-delta de sorte qu'un seul point soit mis en surbrillance (bien que deux soient nécessaires).

Toutes les suggestions sont les bienvenues, merci.

Répondre

0

Vous ne savez pas si cela vous aide vraiment, mais si vous pouvez définir un custom function pour calculer les racines, gnuplot l'affichera.

2

il y a une certaine manière, mais il faut juste un peu de tripoter

narrowness=1 
set yrange [0:10] 
set xrange [-10:10] 
poly(x)=(x**2+3*x-2) 
roots(x) =floor(narrowness*poly(x))?1/0:0 
plot roots(x) w points pt 7

selon la fonction et la plage vous devez définir la largeur différente. Si vous voyez trop de cercles, augmentez l'étroitesse, si vous en voyez trop peu (ou aucun), diminuez l'étroitesse

À votre santé!

/B2S

oh, et PS. pour augmenter les échantillons de réglage de précision à une valeur plus élevée

Et Alternativement, si vous connaissez déjà les racines, disent r1 (2,0) et r2 (-1,0), alors vous pouvez les tracer en utilisant

plot '-' with points pt 7 
2 0 
-1 0 
e
Questions connexes