gnuplot: отображать только корни - PullRequest
1 голос
/ 10 июня 2009

Gnuplot, отличный пакет ... Я влюблен в него. Но у нас могут быть и наши размолвки, как и у любой пары :-) На этот раз я хотел просто построить корни уравнения: скажем, квадратичный, чтобы все было просто. Тем не менее, я хочу только две красивые круглые точки, появляющиеся на оси X, представляющие точку, где квадратик пересекает ось X или Y = 0. Другими словами, корни (когда они реальны). Я не хочу делать это с файлом данных ... Я хочу, чтобы gnuplot вычислял корни и строил их.

Во-первых, мои попытки: отдельные точки - это не то, что gnuplot заставил бы вас построить, ему нравится хороший широкий диапазон значений. Желательно заполнить всю ширину вашего холста.

Возможно найти прямоугольник по определенной координате на вашем графике, но я хотел круглую точку. В настоящее время я пытаюсь сделать крошечный заполненный многоугольник. Я попробовал опцию "samples", но она не кажется полезной.

Также об определении функции Дирака-дельта, так что будет выделена только одна точка (хотя понадобятся две).

Любые предложения приветствуются, спасибо.

Ответы [ 2 ]

2 голосов
/ 29 марта 2010

есть способ, но это займет немного возиться

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 

в зависимости от функции и диапазона, вам нужно будет установить ширину по-разному. если вы видите, что слишком много кругов увеличивают узость, если вы видите, что слишком мало (иначе нет) уменьшают узость

ура!

/ B2S

ой, и PS. для повышения точности установите выборки на более высокое значение

И в качестве альтернативы, если вы уже знаете корни, скажем, r1 (2,0) и r2 (-1,0), вы можете построить их, используя

plot '-' with points pt 7
2 0
-1 0
e
0 голосов
/ 20 сентября 2009

Не уверен, действительно ли это поможет, но если вы можете определить пользовательскую функцию для вычисления корней, gnuplot отобразит ее.

...