-не так Часто Задаваемые Вопросы- обновлено 2010/12/26
|
|
not so FAQ |
О параметрических функцияхИспользование параметровВ обычном двумерном построении в gnuplot координата Y выражается y=f(x), однако можно использовать параметрическое задание функции, использующее параметр t, x = f(t) y = g(t) С помощью этого выражения gnuplot может рисовать более сложные функции. Отметим, что 3D построения параметрической поверхности, задаваемой параметрами u,v, дается в разделе построения сферических гармоник. В первую очередь необходимо использовать команду set parametric, чтобы gnuplot определил параметрическую переменную для функции. Затем, команда plot, выполняющая построение функции f(t) координаты X и функцит g(t) для координаты Y, задается как plot f(t),g(t). Построение вертикальных линийЧтобы провести простейшую вертикальную линию, не выражающуюся формой y=f(x), а заданную как x=const. Эта функция может быть определена как: x=const y=t с параметром t, когда t различен. Диапазон t контролируется командой set trange. gnuplot> set parametric dummy variable is t for curves, u/v for surfaces gnuplot> const=3 gnuplot> set trange [1:4] gnuplot> set xrange [0:5] gnuplot> set yrange [0:5] gnuplot> plot const,t В данном случае вертикальная линия нарисованна в x=3. Использование set trange [1:4] , определило диапазон от 1 до 4. Если trange не установлен, вертикальная линия будет отрисована от верхней до нижней границы. Изобразить окружность, многоугольникПараметрическое задание окружности: x=sin(t) y=cos(t) окружность может быть нарисована при изменении параметра t от 0 до 2pi. График принимает вид "квадрата" и диапазон t задается опцией команды plot. gnuplot> set parametric dummy variable is t for curves, u/v for surfaces gnuplot> set size square gnuplot> set xrange [-1:1] gnuplot> set yrange [-1:1] gnuplot> plot [0:2*pi] sin(t),cos(t) Параметр t не изменяется непрерывно и фактически управляется значениями, установленными командой set samples. По умолчанию значение равно 100. В случае set samples 8, gnuplot вычисляет только 8 значений t от 0 до 2*pi, и график становиться семиугольником. Если необходим построить N-угольник, задается set samples N+1. 2D параметрическое представление удобно для рисования функции, которая находится в полярных координатах. 2D полярная координатаимеет 2 переменные: r и угловую theta. gnuplot выражает параметр t для theta, а радиус r выражается через функцию угла, а именно r(t). Координата (x,y) дается из: x=r(t)*cos(t) y=r(t)*sin(t) Окружность - особый случай, когда r(t)=const. Когда радиус пропорционален t, получается спираль. gnuplot> set xrange [-10*pi:10*pi] gnuplot> set yrange [-10*pi:10*pi] gnuplot> plot [0:10*pi] t*sin(t),t*cos(t) Следующий пример показывает график кардиоды r(t)=const*(1+cos(t)). gnuplot> set parametric dummy variable is t for curves, u/v for surfaces gnuplot> r(t) = 1+cos(t) gnuplot> plot [0:2*pi] r(t)*cos(t),r(t)*sin(t) Поменять местами оси X и YОбычная функция имеет вид y=f(x), но параметрическая позволяет делать график x=f(y). Значения Y такие же как и t и значения x вычисляются функцией f(t). gnuplot> set parametric dummy variable is t for curves, u/v for surfaces gnuplot> c=2*pi gnuplot> set size square gnuplot> set trange [-c:c] gnuplot> set xrange [-c:c] gnuplot> set yrange [-c:c] gnuplot> plot c*sin(t),t with lines, t,c*cos(t) with impulses Показаны 2 функции, одна (зеленые линии) y=2pi*cos(x), другая (красная толстая линия) x=f(t)=2pi*sin(y). Опция with impulse рисует вертикальную линию от оси Y=0. Если используется with impulses для красной кривой x=2pi*sin(y), то получается вертикальная линия, не горизонтальная. |