Работа с программой EUREKA

РАБОТА В СИСТЕМЕ EUREKA.
Введение
Интегрированная многооконная система Eureka предназначена для решения не очень сложных и часто встречающихся математических задач.
С помощью системы Eureka можно решать следующие задачи:
1) Решение нелинейного уравнения;
2) Вычисление корней полинома;
3) Вычисление определенного интеграла;
4) Вычисление производных функции;
5) Поиск экстремумов функций одной или многих переменных;
6) Решение системы линейных уравнений;
7) Решение системы нелинейных уравнений;
8) Аппроксимация функций;
9) Интерполяция функций;
10) Линейное и нелинейное программирование;
Система объединяет: редактор, вычислитель, верификатор (проверяет правильность вычислений),генератор отчетов и простой графопостроитель.Система ориентирована на ПК класса IBM PC XT и AT и может размещаться на одном гибком диске объемом до 360 Кбайт. Система может работать на ПК без математического сопроцессора, однако его использование значительно повышает скорость работы.
Загрузка системы
Необходимо выполнить файл eureka.exe.
После запуска на экране монитора появляется табло оболочки системы. Экран оказывается разделенным на четыре окна:
Edit - для ввода и редактирования текста задачи; Solution - для вывода результатов;
Report - для вывода отчета о вычислениях на экран,принтер или в файл с расширением log;
Verify - для проверки точности результата.
Окно в пассивном состоянии обведено одинарной рамкой,а в активном - двойной.Курсор располагается в активном окне.

Меню системы
Кроме окон, табло оболочки содержит верхнюю и нижнюю строки меню.
В верхней строке оболочки перечисляются позиции основного меню системы:
File - работа с файлами;
Edit - редактирование текущего файла;
Solve - запуск вычислителя;
Commands - выбор команды управления;
Report - подготовка отчета;
Graph - вывод графиков и таблиц;
Options - задание опций системы;
Window - работа с окнами.
Переход в верхнюю строку меню выполняется клавишей ESC.
Нижняя строка меню показывает возможности работы с ключевыми клавишами (hot keys). Ee содержимое может меняться в зависимости от режима работы системы.Наибольший интерес эта строка представляет в режиме редактирования.В этом случае она предлагает следующие команды:
F1 - Help - помощь по контексту ( можно получать в любой позиции меню и подменю);
F2 - Save - запись текущего файла на диск;
F3 - Load - загрузка файла с диска;
F5 - Zoom - расширение активного окна на весь экран и возвращение его (при повторном нажатии) к исходным размерам;
F6 - Next - переключение активности окон (по циклу);
F7 - BegBek - отметка начала блока;
F8 - EndBek - отметка конца блока;
SCROOL - Size/move - изменение размера и положения окна.
Нажатие клавиш Ctrl и Alt приводит к высвечиванию иных ключевых клавиш.
Esc - отмена команды (переход в вышестоящее меню);
Alt+E - переход в окно редактирования;
Alt+S - начать решение задачи;
Alt+C - включить встроенный калькулятор;
Alt+X - выход из системы.

Операции с файлами
Если активировать в верхней строке позицию File,то после нажатия клавиши Enter откроется подменю со следующими пунктами:
Load - загрузка файла;
New - подготовка к заданию нового файла (очистка окон);
Save - запись текущего файла;
Directory - просмотр директории;
Change dir - смена текущей директории;
New directory - создание новой директории;
Rename - переименование текущего файла;
OS shell - временный выход в MS DOS (возврат по команде
Exit);
Quit - выход из системы по окончании работы.
Редактирование текста задачи
Если активизировать вторую позицию верхней строки и нажать клавишу Enter, то мы окажемся в окне редактирования задач.
Решение задачи
Третьей позицией верхней строки является команда Solve. После того как редактирование задачи окончено нужно нажать Esc (для попадания в верхнюю строку меню) и активизировав пункт меню Solve, запустить задачу на счет нажатием клавиши Enter. Если в описании задачи ошибок с точки зрения системы нет, то начнется процесс решения. По окончании этого процесса результат работы будет представлен в окне Solution.
Команды
Четвертая позиция верхней строки - Commands. При активизации этой позиции и нажатие клавиши Enter открывается следующее подменю:
Verify - проверка решения (результат работы этой команды выводится в одноименное окно);
Calculate - включение калькулятора (для выключения - Esc);
Find other - поиск другого решения (Т.к. итерационные методы

приводят только к одному из возможных решений,
то для нахождения других надо исключить найденное и заново решить задачу. Именно это и делает данная команда. При этом радиус поиска иного решения задается установкой: radius = действительное число. По умолчанию радиус равен нулю.);
Iterate - пуск итераций после остановки решения (Команда используется для уточнения найденного решения при условии, что заданная точность не достигнута, а время отведенное на процесс решения закончено).
Формирование отчета
Отчет содержит: титул, листинг программы, результат решения и его верификации и график заданной функции.
Пятая позиция верхней строки ( Report ) открывает следующее подменю:
Go - составление отчета (результат этой команды появляется в окне Report);
Output - направление вывода отчета (экран, принтер); Formatted - форматирование отчета;
Capture - запись отчета в файл eureka.log ( По запросу EUREKA.LOG EXIST.A TO ADD,E TO ERASE этот файл можно дополнить или стереть. При включенной команде в строке переключений будет стоять ON, иначе OFF);
Logfile name - изменение имени log-файла.
Построение графика
Подменю шестой позиции верхней строки ( Gragh ) состоит из четырех пунктов:
Plot - построение графика ;
Output - вывод графика на экран или принтер;
List - вывод таблицы ;
Function - задание функции, которую надо построить.
Опишем последовательность действий, необходимых для построения графика функции более подробно.
Способ N 1

Активизируйте (т.е. подведите курсор и нажмите Enter) пункт верхнего меню под названием - Graph. В открывшемся подменю активизируйте пункт - Function. В появившуюся после этого строку введите название вашей функции (например y(x) или ab) и нажмите Enter. Во вновь появившуюся строку введите определение вашей функции (например sin(x)+x^2) и нажмите Enter. После этого активизируйте пункт подменю с названием - Plot. В появившуюся строку введите начало интервала построения графика и нажмите Enter. Во вновь появившееся окно введите конец интервала и нажмите Enter. В результате всех перечисленных действий на дисплее появится окно, содержащее график, выполненный символами псевдографики. Если теперь нажать F5, то график перерисуется на весь экран при помощи истинной графики. Повторное нажатие F5 приводит к возвращению экрана в состояние,существовавшее до первого нажатия этой клавиши. График может быть перерисован на весь экран в символах псевдографики, если перед F5 была нажата клавиша F4. При этом, для того чтобы вернуться в режим, позволяющий использовать истинную графику, необходимо нажать F7.
Способ N 2
Войдите в окно Edit. Запишите в нем определение одной или нескольких функций (например:
z(x)=sin(x)+x^2
p(x)=deriv(deriv(5*cos(x),x),x)
m(x)=1/x )
и любую вычислительную задачу (например t=z(1)).
Поднимитесь в верхнюю строку меню и активизируйте в ней пункт Solve. После того, как вычислительная задача будет решена активизируйте пункт меню Graph. В открывшемся подменю активизируйте пункт Plot. При этом появится меню, позволяющее выбрать функцию (из числа определенных в окне Edit) для построения графика. Выбор функции осуществляется при помощи курсора. Его надо подвести к названию функции и нажать Enter. Далее выполняются те же действия, что и в 1-ом способе после активизации пункта Plot.
Если возникает потребность в построении графика другой функции (из числа определенных в окне Edit), то необходимо: войти в окно Edit, выйти из этого окна (при этом редактировать записи не обязательно), активизировать пункт Solve и далее повторить описанные выше действия.

Примечание: Для вывода на экран функции в табличном виде пригодны оба описанных выше способа. Отличием является только то, что вместо пункта Plot активизируется пункт List. При этом Eureka потребует ввести: начало интервала вычислений, шаг вычисления и число точек, в которых вычисляются значения функции.
Параметры системы
Седьмая позиция верхней строки (Options) имеет следующее подменю:
Variables - изменение значений переменных без вхождения в редактор;
Settings - задание установок системы:
accuracy - задание погрешности вычислений;
complex [yes/no] - с параметром yes разрешает
вычисления с комплексными числами;
casefold [yes/no] - с параметром yes отменяет
имеющееся по умолчанию различия между прописными и строчными буквами;
digits - определяет число цифр у результатов вычислений;
substlevel=n - задает количество преобразований переменных,в ходе которых одни переменные автоматически выражаются через другие. При n = 0 такие преобразования не выполняются. Допустимые значения n: 0,1,2,....,6. По умолчанию эта установка равна шести. Если задача не решается или решается плохо, то варьирование n в указанных пределах в ряде случаев улучшает ситуацию. Так, в задаче N14 для самостоятельной работы рекомендуется в качестве первой строки листинга записать $ substlevel=2 .
Кроме перечисленных, этот пункт подменю содержит еще ряд установок, о назначении которых можно узнать, воспользовавшись клавишей F1 (т.е. Help).
Сolors - установка окраски окон, рамок и текстов;
Directories - установка директории (Система и отдельные файлы могут храниться в разных директориях.В этом случае нужно указать системе, где находятся ее файлы и файлы с примерами расчетов.);
Load SETUP - загрузка установочного файла;
Write SETUP - запись установочного файла.

Работа с окнами
Восьмая позиция верхней строки (Window) также имеет подменю:
Open - открывает активное или указанное окно;
Close - закрывает активное или указанное окно;
Next - делает активным следующее окно;
Zoom - расширяет активное окно;
Tile - делает размеры окон равными;
Stack - располагает окна друг за другом;
Goto - переход в активное окно из меню.
Сведения о системе
Eureka имеет следующие ограничения:
- максимальная длина идентификатора до 40 символов,из них 10 являются основными;
- число определенных пользователем функций не более 10;
- число используемых числовых констант не более 200;
- число переменных не более 12;
- число подстановок одних переменных в другие до 6.
При этом может использоваться подстановка одних переменных в другие, нередко сводящая задачу к точному решению.
Алфавит системы Eureka содержит стандартный набор символов. Это латинские прописные (от А до Z) и строчные (от а до z) буквы, а также ряд спецзнаков:
: - разделитель для выражений размещенных в одной строке;
; - отмечает начало строки комментария;
- внутри скобок размещается комментарий;
[] - используется для работы с размерными комментариями;
$ - указывает, что следующее слово - директива (установка);
= - операция присваивания;
:= - задание (определение) функции пользователя или начальных значений переменных.
Длинные выражения после символа арифметической операции можно переносить на другую строку.
Eureka может производить следующие операции:
+ сложение;
- вычитание;

* умножение;
/ деление;
^ возведение в степень;
() изменение приоритета операций;
< меньше; > больше; <= меньше или равно; >= больше или равно.
Элементарные функции
Eureka имеет функции re(z) и im(z), возвращающие действительную и мнимую части комплексного числа z=x+iy. Перед применением этих функций необходимо ввести директиву: $ complex=yes
и обозначить мнимую единицу i^2=-1 или i = sqrt(-1).
abs(z) - модуль ; exp(z) - вычисление e=2,71828... в степени z;
floor(x) - целая часть х; ln(z) - вычисление натурального логарифма z; log10(z) - вычисление десятичного логарифма z; sqrt(z) - вычисление корня квадратного из z; pos(x) - возвращает х при х>0 и 0 в противном случае; sgn(x) - возвращает: 1 при х>0, -1 при х<0 и 0 при x=0; atan2(y,x) - вычисление арктангенса по координатам x и у (угол заключенный между осью Ох и отрезком, концы которого (0,0) и (х,у)); polar(x,y) - преобразование декартовых координат в полярные; sin(z), cos(z), tan(z) - вычисление: синуса, косинуса и тангенса z; sinh(z), cosh(z),tanh(z) - вычисление гиперболических: синуса, косинуса и тангенса z. Кроме перечисленных выше функций Eureka имеет еще ряд функций и процедур:
fact(n) - вычисление факториала числа n;
ncum(x) - вычисляет специальную функцию ошибок Р(х) для нормального распределения;
sum(f(i),i,n,k) - вычисляет сумму f(i) при индексе i, меняющемся от n до k.
В системе Eureka пользователь имеет возможность задавать необходимые ему функции через имеющиеся встроенные. Функции пользователя задаются в виде:
Имя функции (список переменных) = выражение или
Имя функции (список переменных) := выражение

Решить нелинейное уравнение: e(x^2)-5x+1=0.
Решение
Набираем в окне Edit: exp(x^2)-5*x+1=0. Производим действия описанные в пункте " Решение задачи " ( далее это будет именоваться " решить задачу ").
Решив задачу получаем в окне Solution:
Variables Values
x = 1.3086594
При помощи отделения корня можно попробовать найти другое решение, т.е. набрать в окне Edit: (exp(x^2)-5*x+1)/(x-1.3086594)=0 и решить задачу заново. Искать другое решение можно также при помощи пункта меню Find other и установки radius.

Eureka позволяет решать задачу поиска экстремума функции при помощи задания директив: $min и $max. При этом, если функция имеет несколько экстремумов, то для нахождения того, который нужен, имеет смысл нарисовать график функции и исходя из этого графика задать начальные приближения и ограничения для поиска экстремума. В противном случае поиск экстремума будет происходить от начальных значений, заданных системой Eureka по умолчанию и может привести не к тому экстремуму, который хотелось бы найти.
Вычислить максимум функции f(x)=5xe(-x/2)(2+sin(3x)), причем он должен быть больше 10.

Набираем в окне Edit:
$ max (T)
V(x)=5*x*exp(-x/2)*(2+sin(3*x)) x:=2
V(x)>10
T=V(x)
Решив задачу получаем в окне Solution:
Variables Values
T = 10.629942
x = 2.5805009
Пример 7
Вычислить минимум функции f(x)=x2+y2+z2-1.
Набираем в окне Edit:
$ min (Fxyz)
F(x,y,z) = x^2 +y^2 +z^2 -1
Fxyz = F(x,y,z)
Решив задачу получаем в окне Solution:
Variables Values
Fxyz = -1.0000
x = 6.1257e-13
y = -1.3030e-12
z = -5.9622e-14
Пример 8
Имеется квадратный лист бумаги со стороной a. Из листа делается коробка следующим образом: по углам листа вырезаются четыре квадрата и коробка cклеивается по швам. Какова должна быть сторона вырезаемого квадрата, чтобы коробка имела наибольшую вместимость. Решить задачу при a=6.

Набираем в окне Edit:
$ settings
accuracy=1.0e-12
$ end
$ Max(Y)
a=6
G(x)=x*(a-2*x)^2
Y=G(x) : 0 Решив задачу получаем в окне Solution:
Variables Values
a = 6.0000000
x = 1.0000000
Y = 16.0000000
Пример 9
(
2 2x + 3y + z = 11
Решить систему линейны уравнений: * x + y + z = 4
2 7x - 2y - 3z = -37 Решение 9
Набираем в окне Edit:
2*x+3*y+z=11
x+y+z=4
7*x-2*y-3*z=-37
Решив задачу получаем в окне Solution:
Variables Values
x = -3.000000
y = 5.000000
z = 2.000000

Пример 10
| 5 7 | Вычислить матрицу обратную к заданной A=| | .
| 2 3 |
Решение
Система Eureka не имеет специальной функции для вычисления обратной матрицы. Однако нам известно, что: A*A-1=E. Т.е. :
| 5 7 | | a b | | 1 0 |
| | * | | = | | или
| 2 3 | | c d | | 0 1 |
| 5 7 | | a | | 1 | | 5 7 | | b | | 0 |
| | * | | = | | и | | * | | = | |
| 2 3 | | c | | 0 | | 2 3 | | d | | 1 |
Набираем в окне Edit:
5*a+7*c=1
2*a+3*c=0
5*b+7*d=0
2*b+3*d=1
Решив задачу получаем в окне Solution:
Variables Values
a = 3.000000
b = -7.000000
c = -2.000000
d = 5.000000
Пример 11
(
2 e2x + sin(3x) - y2 = 0
Решить систему нелинейных уравнений: *
2 x3 + 7*y + tg(5*x2) = 0
9 при начальных условиях x0=-1 y0=0,3.

Набираем в окне Edit:
exp(2*x)+sin(3*x)-y^2=0
x^3+7*y+tan(5*x^2)=0
x:=-1 : y:=0.3
Решив задачу получаем в окне Solution:
Variables Values
x = -1.0414127
y = 0.32744950