Программа предназначена для математического исследования задаваемой функции и составления полноценной статьи, основываясь на результатах этого исследования. В изучение функции входит:
- Упрощение исходной функции: подставление математических констант, выполнение внутренних арифметических операций
- Рассчёт значения функции в точке
- Исследование как функции многих переменных (выполняется, если переменных несколько):
- Формульное и численной (в точке) нахождение всех первых частных производных
- Формульное и численное (в точке) нахождение полной производной
- Исследование выражения как функции одной переменной (первой из заданных):
- Формульное и численное (в точке) нахождение первой и n-й производной
- Разложение функции по формуле Маклорена до k-того порядка в точке
- Построение графика функции
- Исследование графика функции в точке:
- Нахождение уравнения нормали и её построение
- Нахождение уравнения касательной и её построение
Программа поддерживает математические константы, заданные в файле ./Include/ConstsTable.h, по умолчанию это:
"./Include/ConstsTable.h"
//=========================================================//
DEF_CONST(e, 2.718281828) // <-- число e
DEF_CONST(pi, 3.141592654) // <-- число pi
DEF_CONST(AbObA, 1337.22869) // <-- авторская константа
Но вы можете аналогичным образом добавить собственные значения в эту таблицу, изменив этот файл.
Программа также поддерживает следующие математические функции (их можно использовать в исследуемых выражениях):
+
-
*
/
^
exp()
sqrt()
log()
ln()
sin()
cos()
tg()
ctg()
sh()
ch()
arcsin()
arccos()
arctg()
arcctg()
Клонируйте репозиторий проекта в рабочий каталог командой git clone <repo-url> <repo-name> и перейдите в его папку командой cd ./<repo-name>.
Задайте (если необходимо) настройки в файле ./Config.h, раскомментировав/закомментировав нужные строки. По умолчанию он выглядит так:
"./Config.h"
//======================================================================================================================================//
#define NLOGGING // OPTION: logging <-- Отключение логирование в файл ./Log/Log.txt
#define NOPEN_DUMPS // OPTION: auto-opening html tree dumps <-- Отключение автоматического открытия распечаток дереева выражения
#define NDEBUG // OPTION: debugging mode <-- Отключение режима отладки
#define TEX_PAGE_AUTORESIZE // OPTION: auto-resizing tex page <-- Автоформатирование выходного файла по размеру выражений
// #define N_OPEN_RES_PDF // OPTION: auto-opening resulting pdf file <-- Отключение автоматического открытия итогового файла-статьиДля компиляции запустите make в корневой папке репозитория. При изменении настроек config-файла необходима перекомпиляция проекта при помощи той же команды.
Для ввода данных для исследования предназначен файл Expression.txt, по умолчанию он уже заполнен данными для некоторого выражения. Его структура и формат данных следующие:
"./Expression.txt"
//===============================================================================================================================//
sin(4*y)*e^x <-- исследуемое выражение в заданном формате
<-- пустая строка
x = 9 <-- список переменных в столбик в формате: <имя> = <значение> (ограничение - 10 переменных)
y = 17.8 <-- у переменных с дробным значением десятичная часть отделяется точкой
<-- пустая строка
n_differentiate = 2 <-- порядок n-й производной функции одной переменной
Makloren_accuracy = 3 <-- порядок разложения функции одной переменной по формуле Маклорена
tangent_point = 0 <-- точка, в которой строятся касательная и нормаль к графику функции
delta_coverage = 0.5 <-- дельта-окрестность точки tangent_point, в которой отображается график касательной и нормали
graph_diapasone = [-2:2] <-- область построения графика по оси переменной в заданном формате: [a:b]
Формат выражения:
- Все операции явно записаны (
8x = 8*x) - Приоритет операций определён как в математике
- Дополнительные приоритеты операций расставляются при помощи круглых скобок
(,) - Все функции обязательно содержат круглые скобки (
функция(аргумент))
Запустите скомпилированный проект командой make explore, при этом текстовый вывод программы будет перенаправлен в файл ./Log/Out.txt для удобства.
Результатом работы программы является файл TexExpression.pdf, который должен появиться в корневой папке проекта после его запуска, он и содержит проведённое с выражением исследование.