Рефетека.ру / Информатика и програм-ие

Реферат: Работа в системе 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 - для проверки точности результата.
Окно в пассивном состоянии обведено одинарной рамкой,а в активном -
двойной.Курсор располагается в активном окне.
.
- 2 -
Меню системы
Кроме окон, табло оболочки содержит верхнюю и нижнюю строки меню.
В верхней строке оболочки перечисляются позиции основного
меню системы:
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 - выход из системы.
.
- 3 -
Операции с файлами
Если активировать в верхней строке позицию 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 - поиск другого решения (Т.к. итерационные методы
.
- 4 -
приводят только к одному из возможных решений,
то для нахождения других надо исключить найден
ное и заново решить задачу. Именно это и делает
данная команда. При этом радиус поиска иного
решения задается установкой: 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
.
- 5 -
Активизируйте (т.е. подведите курсор и нажмите 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 и
далее повторить описанные выше действия.
.
- 6 -
Примечание: Для вывода на экран функции в табличном виде пригодны оба описанных
выше способа. Отличием является только то,что вместо пункта 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 - запись установочного файла.
.
- 7 -
Работа с окнами
Восьмая позиция верхней строки (Window) также имеет подменю:
Open - открывает активное или указанное окно;
Close - закрывает активное или указанное окно;
Next - делает активным следующее окно;
Zoom - расширяет активное окно;
Tile - делает размеры окон равными;
Stack - располагает окна друг за другом;
Goto - переход в активное окно из меню.
Сведения о системе
Eureka имеет следующие ограничения:
- максимальная длина идентификатора до 40 символов,из них 10 являются основными;
- число определенных пользователем функций не более 10;
- число используемых числовых констант не более 200;
- число переменных не более 12;
- число подстановок одних переменных в другие до 6.
При этом может использоваться подстановка одних переменных в другие, нередко
сводящая задачу к точному решению.
Алфавит системы Eureka содержит стандартный набор символов.
Это латинские прописные (от А до Z) и строчные (от а до z) буквы,а также ряд
спецзнаков:
: - разделитель для выражений размещенных в одной строке;
; - отмечает начало строки комментария;
{ } - внутри скобок размещается комментарий;
[] - используется для работы с размерными комментариями;
$ - указывает,что следующее слово - директива (установка);
= - операция присваивания;
:= - задание (определение) функции пользователя или началь ных значений
переменных.
Длинные выражения после символа арифметической операции можно переносить на
другую строку.
Eureka может производить следующие операции:
+ сложение;
- вычитание;
.
- 8 -
* умножение;
/ деление;
^ возведение в степень;
() изменение приоритета операций;
< меньше; > больше; = больше или равно.
Элементарные функции
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) и (х,у));
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 пользователь имеет возможность задавать необходимые ему функции
через имеющиеся встроенные. Функции пользователя задаются в виде:
Имя функции (список переменных) = выражение
или
Имя функции (список переменных) := выражение
Вторая форма используется, если заданная функциональная зависимость
рассматривается как приближенная.
.
- 9 -
+-------------------------------------------------------------+
Примеры задач решаемых системой EUREKA.
-------------------------------------------
+-------------------------------------------------------------+
Пример N1
------------
Решить нелинейное уравнение: e_5(x^2)_0-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.
Пример N2
------------
Вычислить корни полинома x_56_0-x_54_0-x_53_0+3x_52_0-1, т.е. решить уравнение:
x_56_0-x_54_0-x_53_0+3x_52_0-1=0.
Решение
Для вычисления значений, а также действительных и комплексных корней полинома в
системе Eureka существует специальная функция:
poly(x,an,......,a0).
Набираем в окне Edit:
$ settings ; Начало блока установок
complex=yes ; Работать с комплексными числами
accuracy=1.0e-9 ; Задаваемая точность вычислений
digits=8 ; Количество знаков у результатов вычислений $ end ; Конец блока
установок
i=sqrt(-1) ; Определение мнимой единицы
p(x):=poly(x,1,0,-1,-1,3,0,-1)
Решив задачу получаем в окне Solution:
.
- 10 -
Roots to the polynomial p
# Real part Imaginary part
1 0.69807525 0.0000000
2 -0.54737816 0.0000000
3 0.94982970 0.6507578
4 0.94982970 -0.6507578
5 -1.0251783 0.9608054
6 -1.0251783 -0.9608054
После нахождения корней сделаем выборочную проверку. Подставив первый, третий и
четвертый корни в полином. Для этого сделаем в окне Edit следующие записи:
$ settings
complex=yes
accuracy=1.0e-9
digits=8
$ end
i=sqrt(-1)
a=0.69807525
z1=a^6-a^4-a^3+3*a^2-1
b=0.94982970+0.6507578*i
c=0.94982970-0.6507578*i
z2=b*b*b*b*b*b-b*b*b*b-b*b*b+3*b*b-1
z3=c*c*c*c*c*c-c*c*c*c-c*c*c+3*c*c-1
Решив задачу убеждаемся в том, что значения полинома в выбранных точках
практически равны нулю. К сожалению другая форма записи при работе с
комплексными числами в системе Eureka может привести к ошибочному результату.
Если Eureka выдает сообщение " Error 5: too many formulas ", проверяем корни по
очереди порциями, доступными для обработки системой.
Пример N3
-------------
_4_____
Вычислить производную функции f(x)=3lg(x)-_7?_0(x/2)+x_52 _0в точке 0,5.
.
- 11 -
Решение
Т.к. в системе Eureka надежнее работает функция вычисляющая натуральный
логарифм, то выразим десятичный логарифм через отношение натуральных:
lg(x)=ln(x)/ln(10).
Набираем в окне Edit:
a=1/ln(10)
f(x)=3*a*ln(x)-sqrt(x/2)+x^2
x=0.5
z=deriv(f(x),x)
Решив задачу получаем в окне Solution:
Variables Values
a = 0.43429448
x = 0.50000000
z = 3.1057669
Пример 4
-----------
lg(1+x)
Вычислить интеграл от функции f(x)=_7 \ _0 на интервале [0,1].
(1+x_52)
Решение
Набираем в окне Edit:
a=1/ln(10)
f(x)=a*ln(1+x)/(1+x^2)
z=integ(f(x),x,0,1)
Решив задачу получаем в окне Solution:
Variables Values
a = 0.43429448
z = 0.11821420
Пример 5
-----------
Проверить,что при a
_7p
_7!_0 sin_52_0(x)_7 p
_72_0 _7\\\\\\\ _0 dx =_7
_71_0 1 + 2 a cos x + a_52_0 2
_50
.
- 12 -
Равенство проверить в точках a = -0,9;-0,45;0;0,45;0,9.
Решение
Набираем в окне Edit:
t=3.1415926/2
f(a,x)=sin(x)^2/(1+2*a*cos(x)+a^2)
t1=-0.9 : i1=integ(f(t1,x),x,0,3.1415926)
t2=-0.45 : i2=integ(f(t2,x),x,0,3.1415926)
t3=0 : i3=integ(f(t3,x),x,0,3.1415926)
t4=0.45 : i4=integ(f(t4,x),x,0,3.1415926)
t5=0.9 : i5=integ(f(t5,x),x,0,3.1415926)
Решив задачу получаем в окне Solution:
Variables Values
i1 = 1.5707963
i2 = 1.5707963
i3 = 1.5707963
i4 = 1.5707963
i5 = 1.5707963
k = 1.5707963
t1 = -0.9000000
t2 = -0.4500000
t3 = 0.0000000
t4 = 0.4500000
t5 = 0.9000000
Пример 6
-----------
Eureka позволяет решать задачу поиска экстремума функции при помощи задания
директив: $min и $max. При этом, если функция имеет несколько экстремумов, то
для нахождения того, который нужен, имеет смысл нарисовать график функции и
исходя из этого графика задать начальные приближения и ограничения для поиска
экстремума. В противном случае поиск экстремума будет происходить от начальных
значений, заданных системой Eureka по умолчанию и может привести не к тому
экстремуму, который хотелось бы найти.
Вычислить максимум функции f(x)=5xe_5(-x/2)_0(2+sin(3x)), причем он должен быть
больше 10.
.
- 13 -
Набираем в окне 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)=x_52_0+y_52_0+z_52_0-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.
.
- 14 -
Набираем в окне Edit:
$ settings
accuracy=1.0e-12
$ end
$ Max(Y)
a=6
G(x)=x*(a-2*x)^2
Y=G(x) : 0
Рефетека ру refoteka@gmail.com