Как нарисовать sin (x) + sin (y) = 1 в gnuplot?

503
Gregor Perčič

Я пытаюсь построить параметрическую функцию sin(x) + sin(y) = 1, но я еще не совсем там. Вот мой сценарий:

set parametric  set urange [-10:10] set vrange [-10:10] set sample 2000 set size ratio -1 set grid front unset border  splot sin(u) + sin(v) = 1 

Но я получаю ошибку: line 10: parametric function not fully specified. Что я должен делать? Я хочу, чтобы моя функция была построена так, как это делает Desmos, в декартовой системе координат:

Как нарисовать sin (x) + sin (y) = 1 в gnuplot?

Спасибо за ваши предложения заранее.

1
При использовании `set параметрического 'вы должны указывать` plot` в паре, а `splot` в виде триплета. В качестве примера `plot x, y` или` splot x, y, z` я не совсем уверен, что ваш график уравнения верен, но вы в основном говорите `splot x` и игнорируете y и z, что Вот почему он дает вам эту ошибку. Как сделать то, что вы хотите? Я не совсем уверен. DrZoo 6 лет назад 0
Аааа, спасибо за совет! В этом случае я игнорировал только `y`, потому что мне не нужен` z` (я строю графики в 2D-пространстве). Так что я определенно буду использовать `plot`, а не` splot`. Gregor Perčič 6 лет назад 0

1 ответ на вопрос

1
Joce

sin(x) + sin(y) = 1это не параметрическое уравнение, а неявное уравнение . Либо вам нужно выполнить некоторые математические операции и найти соответствующее параметрическое уравнение, либо вам нужно прибегнуть к «уловке», которую вы, вероятно, использовали в Desmos: gnuplot может отображать изолинии функций, поэтому вы можете строить изолинии 1 из f(x,y)=sin(x) + sin(y).

set cntrparam levels discrete 1 set contour set view map unset surface set isosample 100 splot sin(x)+sin(y) 

Похожие вопросы