Найти в Дзене

Школьная графика на ПК часть 2

В школе знакомство с графиками функций начинается обычно (но не всегда) с графиков линейных функций на плоскости (редко в пространстве), представленных уравнением f(x)=kx+b. Общее уравнение может выглядеть по-разному, например y=±ax±b, от того, как оно выглядит на самом деле разницы особой нет, потому что мы можем в функцию встраивать и другие функции, чтобы запутать ученика. Свойства данной функции примитивны, её график является просто прямой линией, проходящей через точку на плоскости, где x -- любое число на оси абсцисс, а y -- значение функции при подстановке аргумента x. Простая зависимость и график это показывает. А если нам нужен график линейной функции, который будет выглядеть как вертикальная прямая?
Для начала нужно вспомнить, что функция это зависимость одной величины от другой и задана она как зависимость числа y от x, которое находится в уравнении функции. А давайте посмотрим на полное уравнение линейной функции: Примечательно, что уравнение я представил в трехмерных коор

В школе знакомство с графиками функций начинается обычно (но не всегда) с графиков линейных функций на плоскости (редко в пространстве), представленных уравнением f(x)=kx+b.

Общее уравнение может выглядеть по-разному, например y=±ax±b, от того, как оно выглядит на самом деле разницы особой нет, потому что мы можем в функцию встраивать и другие функции, чтобы запутать ученика.

Свойства данной функции примитивны, её график является просто прямой линией, проходящей через точку на плоскости, где x -- любое число на оси абсцисс, а y -- значение функции при подстановке аргумента x. Простая зависимость и график это показывает.

График линейной функции
График линейной функции

А если нам нужен график линейной функции, который будет выглядеть как вертикальная прямая?
Для начала нужно вспомнить, что функция это зависимость одной величины от другой и задана она как зависимость числа y от x, которое находится в уравнении функции. А давайте посмотрим на полное уравнение линейной функции:

-2

Примечательно, что уравнение я представил в трехмерных координатах. Наша привычная линейная функция представлена обычно лишь двумя координатами:

-3

Где с это смещение относительно оси аргументов. Сюрприз! В линейной функции аргументом может быть любая из координат.

-4

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

-5

То-есть y равен смещению относительно оси аргументов, а угловой коэффициент обращает х в полный нуль. Это очень здорово! Если взять базовое уравнение для плоскости, то мы можем сделать следующее:
обратить функцию. Для этого выразим первоначальное уравнение через x:

-6

следовательно, при b=0:

-7

А теперь вспомним, что коэффициент при переменной это угловое отклонение от оси аргументов. Что у нас происходит, когда остается константа, а x при этом равен 0? Верно, график функции становится прямой, параллельной оси аргументов!

-8

Есть одна большая проблема. GNUPLOT "не умеет" строить графики функции, если аргумент не принадлежит оси X. Но выше я уже показывал, что y можно выразить через x. Мы можем схитрить двумя способами:
1. Использовать параметрический режим, тогда в нашем сценарии нужно раскомментировать или добавить строчки:

set parametric
const=-1.2
set trange [-1:1]

Как видно мы включаем параметрический режим и фактически вручную указываем, что константу необходимо построить на интервале -1 <= t <= 1.
Фактически, мы ось x превратили в ось ординат (u), а в качестве аргумента ввели параметр (t), который можно определить на том или ином интервале и функция y(x) у нас превратилась в функцию u(t).
2. Мы используем полученное параметрическое уравнение для того, чтобы рассчитать точки прямой и создадим таблицу. Но для этого нам необходимо вывести основание:

-9

В результате получаем уравнение функции:

-10

Константа. Точно также, если:

-11

Поэтому вполне справедливо, что характер графика будет одинаков при условии, что x=const, что y=const, с той разницей, что он будет повёрнут на 90 градусов относительно другого.

Поэтому мы можем отобразить данный график используя следующую конструкцию:

plot '1.csv' using 1:2:3:4 with vectors notitle, '2.csv' with lines title "y(x)"

где "2.csv" является файлом данных для построения графика функции f(y)=by+c

-12

На этом временно завершу повествование, однако это показывает, насколько непроста такая простая функция.