Реферат: Работа с программой EUREKA
Лабораторнаяработа N1
6───────────────────────────
Знакомство с оболочкой системыEureka. Решение
систем линейных уравнений.
Цель работы
6────────────────
Приобретение навыков работы с оболочкойсистемы Eureka. Решение
систем линейныхуравнений при помощи системы Eureka.
Теоретическое введение.
а) Интегрированная многооконная системаEureka предназначена для
автоматизациинаиболее массовых математических расчетов не очень высо-
койсложности. Она объединяет: редактор, вычислитель, верификатор
(проверяетправильность вычислений), генераторотчетов и простой гра-
фопостроитель.Система ориентирована на ПК класса IBM PC XT и AT и мо-
жетразмещать на одном гибком диске с объемом хранимойинформации до
360 Кбайт. Нормальная работа системы обеспечивается приОЗУ 512 Кбайт
и выше. Системаможет работать на ПК без математического сопроцессора,
однако егоиспользование значительно повышает скорость работы.
Eureka имеет следующие ограничения:
— максимальная длина идентификаторов до 40символов, из них 10 яв-
ляются основными;
— число определенных пользователем функцийне более 10;
— число используемых числовых констант неболее 200;
— число переменных не более 12;
— число подстановок одних переменных вдругие до 6.
б) Для загрузки системы ее надопроинсталлировать, т.е. перенести
все файлы,входящие в нее, на рабочий диск в одну директорию. Запуска-
ющим файламсистемы является файл eureka.exe.
После запуска на экране мониторапоявляется табло оболочки систе-
мы. Экраноказывается разделенным на четыре окна.
Edit — для ввода и редактирования текстазадачи;
Solution — для вывода результатов;
Report — для вывода отчета о вычисленияхна экран, принтер или в
файл срасширением log;
Verify — для проверки точности результата.
Окно в пассивном состоянии обведеноодинарной рамкой, а в актив-
ном — двойной.Курсор располагается в активном окне. Кроме окон, табло
оболочки содержитверхнюю и нижнюю строки меню. Нижняя строка меню
представляетвозможности работы с ключевыми клавишами(hot keys). Ee
содержимое можетменятся в зависимости от режима работы системы. Наи-
большийинтерес эта строка представляет в режиме редактирования. В
этом случае онапредлагает следующие команды:
F1 - Help — помощь по контексту (можнополучать в любой позиции
меню и подменю);
F2 — Save — запись текущего файла на диск;
F3 — Load — загрузка файла с диска;
F5 — Zoom — расширение активного окна навесь экран и возвращение
его (приповторном нажатии) к исходным размерам.
F6 — Next — переключение активности окон(по циклу);
F7 — Beg.Bek — отметка начала блока;
F8 — EndBek — отметка конца блока
SCROOL — Size/move — изменение размера иположения окна.
Нажатие клавиши Ctrl и Alt приводят к высвечиванию иныхключевых
клавиш. Имеетсмысл взять на вооружение еще hotkeys такие как:
Esc — отмена команды (переход ввышестоящее меню);
Alt+E — переход в окно редактирования;
Alt+S — начать рещение задачи;
Alt+C — включить встроенный калькулятор;
Alt+X — выход из системы.
В верхней строке оболочкиперечисляются позиции основного меню
системы:
File — работа с файлами;
Edit — редактирование текущего файла;
Solve — запуск вычислителя;
Commands — выбор команды управления;
Report — подготовка отчета;
Graph — вывод графиков и таблиц;
Options — задание опций системы;
Window — работа с окнами.
Если активировать в верхней строке позицию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 — поиск другого решения (Т.к.итерационные методы при-
водят только к одному из возможных решений, то для нахождения других
надо исключитьнайденное и заново решить задачу. Именноэто и делает
данная команда);
Iterate — пуск итераций после остановкирешения (Команда исполь-
зуется дляуточнения найденного решения при условии, что заданная точ-
ность недостигнута, а время отведенное на процесс решения закончено).
Пятая позиция верхней строки (Report)открывает следующее подменю:
Go — составление отчета (результат этойкоманды появляется в окне
Report);
Output — направление вывода отчета (экран,принтер);
Formatted — форматирование отчета;
Capture — запись отчета в файл eureka.log(По запросу EUREKA.LOG
EXIST.A TO ERASEэтот файл можно дополнить или стереть. При включенной
команде в строкепереключений будет стоять ON, иначе OFF);
Logfile name — изменение имени log-файла.
Подменю шестой позиции верхней строки (Gragh) состоит изчетырех
пунктов.
Plot - построение графика (После ввода значений левой и правой
границаргумента, если, конечно, функция предварительно описана при
помощикоманды Function, будет построен график функции состоящий из
текстовых символовпсевдографики. При нажатии F5 этот график перестра-
ивается вграфическом режиме с высоким разрешением);
Output — вывод графика на экран илипринтер;
List — вывод таблицы (После выводаначального значения, шага вы-
числений иколичества точек в которых вычисляются значения функций вы-
водитсятаблица со значениями аргумента и функции, если, конечно,
функцияпредварительно описана при помощи команды Function или в окне
Edit);
Function — задание функции, которую надопостроить.
6Опишем последовательность действийнеобходимых для построения гра-
6фикафункции более подробно.
6Способ N 1
7\\\\\\
6Активизируйте (т.е. подведите курсори нажмите Enter) пункт верх-
6него менюпод названием — Graph. В открывшемсяподменю активизируйте
6пункт — Function. В появившуюся после этого строку введите название
6вашейфунуции (например y(x) или ab) и нажмите Enter. Во вновь появив-
6шуюсястроку введите определение вашейфункции (например sin(x)+x^2)
6и нажмитеEnter. После этого активизируйте пункт подменю с названием
6- Plot.В появившуюся строку введите началоинтервала построения гра-
6фика инажмите Enter. Во вновь появившееся окно введите конец интерва-
6лаи 0 6нажмите Enter. 0 6 В результате всех перечисленныхдействий на дисп-
6леепоявится окно содержащее график выполненный символами псевдогра-
6фики. Если теперь нажать 0 6F5, то график перерисуется на весь экран
6при помощиистинной графики. 0 6Повторное нажатие F5 приводит к воз-
6вращению экрана в состояние 0 6существовавшее до первого нажатия этой
6клавиши. 0 6График может быть перерисован на весь экран в сиволах псевдо-
6графики, 0 6если преред F5 была нажатаклавиша F4. 0 6 При этом, для того
6чтобы вернуться в режим позволяющий использовать 0 6истинную графику
6необходимонажать F7.
6Способ N 2
7\\\\\\
6Войдите в окно Edit. Запишите в немопределение одной или несколь-
6кихфункций (например:
6z(x)=sin(x)+x^2
6p(x)=deriv(deriv(5*cos(x),x),x) 0
6m(x)=1/x )
6и любую вычислительную задачу (напримерt=z(1)).
6Поднимитесьв верхнюю строку меню и активизируйте вней пункт Solve.
6Послетого, как вычислительная задача будет решена активизируйте пункт
6менюGraph. В открывшемся подменюактивизируйте пункт Plot. При этом
6появитсяменю, позволяющее выбрать функцию (из числа определенных в
6окне Edit)для построения графика. Выбор функции осуществляется при
6помощикурсора. Его надо подвести к названиюфункции и нажать Enter.
6Далее выполняются те же действия, что и вI 5ом 6 способе после активиза-
6ции пунктаPlot.
6Если возникает потребность впостроении графика другой функции (из
6числаопределенных в окне Edit), тонеобходимо: войти в окно Edit,
6выйти из этого окна (при этом редактироватьзаписи не обязательно),
6активизироватьпункт Solve и далее повторить описанные выше действия.
6Примечание
7\\\\\\
6Для вывода на экран функции втабличном виде пригодны оба описан-
6ных вышеспособа. Отличием является только то, что вместо пункта Plot
6активизируетсяпункт List. При этом Eureka потребуетввести: начало
6интервалавычислений, шаг вычисления и числоточек, в которых вычис-
6ляютсязначения функции.
Седьмая позиция верхней строки (Options)имеет следующее подменю:
Variables - изменение значений переменных без вхождения вредак-
тор;
Settings -задание установок системы (кпримеру: accuracy — зада-
ние погрешностивычислений; complex[ 5yes 4no 0] — разрешает вычисления с
комплекснымичислами; casefold [ 5yes 4no 0] с параметром yes отменяет имею-
щееся поумолчанию различия между прописными и строчными буквами; di-
gits - определяет число цифр у результатоввычислений; substlevel N -
задает количествопреобразований переменных, в ходе которых одни пере-
менныеавтоматически выражаются через другие. При N=0 такие преобразо-
вания невыполняются. Допустимые значения N от 0до 6. В некоторых
случаяхварьирование этого параметра позволяет получить более точный
результат). Кромеперечисленных этот пункт подменюсодержит еще ряд
установок, оназначении которых можно узнать, воспользовавшись клави-
шей F1 (т.е.help).
Сolors — установка окраски окон; рамок итекстов;
Directories — установка директории(Система и отдельные файлы мо-
гут храниться вразных директориях. В этом случае нужно указать систе-
ме, где находятсяее файлы и файлы с примерами расчетов.);
LoadSETUP — загрузка установочного файла;
WriteSETUP — запись установочного файла.
Восьмая позиция верхней строки (Window)также имеет подменю:
Open — открывает указанное окно;
Close — закрывает указанное окно;
Next — делает активным следующее окно;
Zoom — расширяет активное окно;
Tile — делает размеры окон равными;
Stack — располагает окна друг за другом;
Goto — переход в активное окно из меню.
в) Системы линейных алгебраических уравнений можно решать как с по-
мощью прямых,так и с помощью итерационных методов. Т.к. о прямых ме-
тодах решениятаких, как метод Крамера или метод Гаусса, рассказыва-
лось в курсематематики, то рассмотрим здесь только некоторые итераци-
онныеметоды. Итерационные методыпредставляют для нас интерес еще и
потому, чтоEureka решает системы линейных уравнений ( как и нелиней-
ных )итерационными методами. При этом может использоваться подстанов-
ка однихпеременных в другие, нередко сводящаязадачу к точному реше-
нию.
Итерационные методы применяются на практике к большим системам с
разреженнымиматрицами. Разработано большое числоразлиных итерацион-
ных методов, каждый из которых ориентирован нарешение сравнительно
узкого классазадач. Рассмотрим два наиболее простых и извесных итера-
ционных метода.
_Метод простой итерации
Для того чтобы применить метод простойитерации к решению системы
линейныхуравнений
Ах=b 4 0 (1)
c квадратной не вырожденной матрицей А, необходимо преобразовать эту
систему к виду
4^ ^
х=Ах+b 4 0 (2)
4^ ^
Здесь А — квадратная матрица (nxn), а b — векторстолбец длины n. Са-
мый простойспособ привести систему (1) к виду (2) выразить х 41 0 из пер-
вого уравнениясистемы (1)
4-1
6x 41 6=a 411 6(-a 412 6x 42 6-a 413 6x 43 6-...-a 41n 6x 4n 6)
х 42 0из второго уравнения и т.д. В результате получаем систему 6:
4^ ^ ^ ^
6x 41 6= -a 412 6x 42 6-a 413 6x 43 6-...-a 41n 6x 4n 6+b 41
4^ ^ ^ ^
6x 42 6=-a 421 6x 41 6- 4 6-a 423 6x 43 6-...-a 42n 6x 4n 6+b 42
6.....................................
4^ ^ ^ ^ 6 4^
6x 4n 6=-a 4n1 6x 41 6-a 4n2 6x 42 6-a 4n3 6x 43 6-a 4n4 6x 44 6-...+b 4n
4^
у которой на главной диагонали матрицы А находятся нулевые элементы.
Остальные элементывырожаются по формулам 6 :
4^ ^
6a 4ij 6=a 4ij 6/a 4ii 6 и b 4i 6=b 4i 6/a 4ii 6 .
4(0) (0) (0) (0)
Выберем начальноеприближение 6 x 4 6= 4 6(x 41 6, 4 6x 42 6, 4 6... 4 6,x 4n 6).
Часто в качестве началь 6н 0ого приближения выбирают столбецсвободных
членов(b 41 0, b 42 0,...b 4n 0). Подставляя его вправую часть системы (2) нахо-
дим первоеприближение
4(1) ^ 5 4(0) 5 4^
6x 4 6= 4 6A 4 6x 4 6+ 4 6b
6П 0родолжая этот процесс далее, получим последовательность
х 5(0) 0, 5 0х 5(1) 0, 5 0х 5(2) 0, 5 0..., 5 0х 5(k) 0,… 6 0приближений,вычисляемых по формуле
4(k+1) ^ (k) ^
6x 4 6= 4 6A 4 6x 4 6+ 4 6b , k=0,1,2,...
Спра 6в 0едли 6в 0аследующая теорема о сходимости метода простой итерации.
_Теоремма
Пусть выполнено одно из условий :
4n 6 4n
6────┐ 4 ──── 6┐
4M 6 4A 6 4X 6 │ 4^ 6 4 6│ │ 4 6│ 4 6 4 6 │ 4 6│
61 7, 6i 7, 6n 7 4 6/ 4 6│ a 4ij 6│ = q < 1 <=> │a 4ii 6 │ > 4 6 / 4 6│ a 4ii 6│ 4 , 6i=1,...,n
6────┘ ────┘
6j=1 4 6j=1
6i 7- 6j
или
4n n
4──── 6┐ 4 ──── 6┐
4M 6 4A 6 4X 6 4 6 4 │ ^ │ │ │ 6 4 │ │
61 7, 6j 7, 6n 7 4 6/ 4 │ 6a 4ij │ 6= 4 6q 4 6< 1 4 6<=> 4│ 6a 4jj │ 6> 4 6/ 4 │ 6a 4ij │ 6,j=1,...,n
4──── 6┘ 4 ──── 6┘
6i=1 i=1
6i 7- 6j
Тогда:
(I) решение Х системы (2) существует иединственно;
(II) при произвольном начальном приближениих 5(0) 0 справедлива оценка
погрешности 6:
4(k) - k (0) -
4M A X │ 6 x 4i 6- 4 6x 4i 6 │ <=q 4 M A X │ 6 x 4i 6- 4 6x 4i 6│ .
61 7, 6i 7, 6n 4 7 61 7, 6i 7, 6n
Замечание 1
При помощи понятия нормы теорема осходимости метода простой ите-
рации для системылинейных уравнений может быть сформулирована в более
общем виде.
Замечание 2
При выполнении условий теоремы осходимости метода простой итера-
ции для системылинейных уравнений справедлива следующая апостериорная
оценка 6:
4(k) - (k) (k-1)
4M A X │ 6x 4i 6- 4 6x 4i │ <= 6q/(1-q) 4 6 4M A X │ 6 x 4i 6- 4 6x 4i 6 4 6│
61 7, 6i 7, 6n 4 61 7, 6i 7, 6n
_Метод Зейделя
Этот метод является модификацией методапростой итерации. Основ-
ная идеямодификации состоит в том, что при вычислении очередного
4_
(к+1)-гоприближения к неизвестному 6x 4i 0 при 6i 0>1используются уже найден-
4- -
ных (к+1)-еприближения 6к 0неизвестным 6x 41 0,... 6,x 4i-1 0, а не к-е прибли 6-
жения, как впредыдущем методе.
На (к+1)-ой итерации i-ая компонента вычисляется поформ 6у 0ле 6:
4(k+1) ^ (k+1) ^ (k+1) ^ (k) ^ (k) ^
6x 4i 6= 4 6-a 4i,1 6x 41 6- 4 6... 4 6-a 4i,i-1 6x 4 6-a 4i,i+1 6x 4 6-...-a 4i,n 6x 4 6+ 4 6b
Достаточное условие сходимости методаЗйделя совпадает в приве-
деннойформулировке с условием сходимости метода простои итерации.
2) Eure 6k 0a позволяет решатьсистемы линейных уравнений (как и мно-
гие другиезадачи) без составления каких-либо программ. К примеру для
решения системы линейных уравнений 6:
6┌ ┐ ┌ ┐
62x 41 6+3x 42 6+5x 43 6=31 │ 2 3 5 │ │ 31 │
6-x 41 6+3x 43 6=11 т.е. Ax=b, где A=│-1 0 3 │ b=│ 11 │
6x 41 6-7x 42 6+5x 43 6=0 │ 1 -7 5 │ │ 0 │
6└ ┘ └ ┘
6н 0ужносделать в окне Edit любую из двух приведенных ниже записей (Eu 6-
re 6k 0aвоспримет эти записи практически одинаково 6 ).
6I) 0 6││ II)
6││
62*X1+3*X2+5*X3=31 ││ 2*X1+2*X3+3*X2+3*X3-31=0
6-1*X1+3*X3=11 ││ -X1+3*X3=0
6x1-7*X2+5*X3=0 ││ X1-5*X2+5*X3-2*X2=0
6││
После чего подняться в верхнюю строку меню (при помо 6щ 0и ESC)
и 6 0подведя 6 0курсор к пунктуSolve 6 0нажать Enter. Если 6 0матрица 6 0системы
вырождена, топопытка 6 0решения 6 0не 6 0преведет куспеху. 6 0В нашем 6 0случае
6detA 7- 60 0и поэтому в окне решений (Solution) появятся результаты, полу 6-
ченные с заданной точностью:
6X1=1.00000000 X2=3.000000000 X3=4.000000000
Eure 6k 0a позволяет решатьсистемы линейных уравнений не только с
дествительными,но и с комплексными коэффициентами. Крешению таких
уравненийсводятся, например, задачи на вычислениенапряжений и токов
у электро- и радиотехнических цепей при их работе напеременном токе.
Далее приводитсяпример записи в окне Edit системы линейных уравнений
с комплекснымикоэффиециентами 6:
6$ complex=yes
6i^2=-1
6(2+i)*X1+7*X2+(7-i)*X3=0
6(5-i)*X1+i*X2+3*i*X3=2
6(3-i)*X1+2*X2+5*X3=4
6Задание
6───────────
а) Проверьте при помощи встроенного в Eure 6k 0a калькулятора может
ли быть решенаваша система методом простой итерации.
б) Проверьте при помощи окна Edit и пунктаменю Solve не является
ли ваша системавырожденной.
в) Решите вашу систему. Сделайте проверкурешения при помощи окна
Verify.Под 6го 0т 6о 0вьте отчет о решении в окне Report.
г) Найдите матрицу, обратную к матрице вашей системы. Для этого,
используяравенство 6AA 5-1 6=E 0, 6 составьте n 52 6уравнений с n 52 6неизвестными,
6где n*nразмер исходной матрицы.
6d) Используя равенство AA 5-1 6=E, проверьтеявляется ли 0 найденн 6ая
в пункте 6( 0г 6) матрица обратной к A.
Лабораторная работа N2
6──────────────────────────
Язык и функци 6и 0 системыEure 6k 0a. Решение нелинейных
уравнений. 6 0Решениесистем нелинейных уравнений.
Вычисление экстремум 6а 0функций от одной переменной.
6Цель работы
6──────────────
Приобретение навыков решения нелинейныхуравнений и систем нели-
нейных уравненийпри помощи систем Eure 6k 0a.
_Теоретическоевведение
a) Алфавит системы Eure 6k 0a содержит стандартный набор символов.
Это латинскиепрописные (от А до Z) и строчные (от а до z) буквы, а
также рядспецзнаков.
: — разделитель для выражений размещенных в одной строке;
; — отмечает начало строки комментария;
{} — внутри скобок размещаетсякомментарий;
[] — используется для работы с размернымикомментариями;
$ — указывает, что следующее слово-директива;
= — операция присваивания;
:= — задание (определение) функции пользователя или начальных
значенийпеременных.
Длинные выражения после символаарифм 6е 0тической операции можно пе-
реносить надругую строку.
Директивы, относящиеся к установкам, могут быть заданы в окне
Edit в видеблока.
_Пример
$ settings
acuracy=0.000001
digits=5
$ end
Eureca может производить следующиеоперации:
+ сложение; — вычитание; * умножение; / деление; ^ возведение в
степень; () изменение приоритета операций; . отделение целой части
числа отдробной; , отделение переменных друг отдруга в списках; <
меньше; >больше; <= меньше или равно; >= больше или равно.
Приоритет операций определяется как и вязыках Бейсик, Паскаль и
т.д.
Eure 6k 0a имеет функции re(z) иim(z), возвращающие действительную и
мнимую частикомплексного числа z=x+iy. Перед применением этих функций
обходимоввести директиву: $ complex=yes и обозначить мнимуюед 6и 0ницу
i^2=-1.
Алгебраическ 6ие 0 функци 6и
abs(z) — модуль ; exp(z) — вычисление e=2,71828... в степени z;
floor(x) — целаячасть х; ln(z) — вычисление натурального логарифма z;
log 10(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.
Кроме перечисленных выше функцийEure 6k 0a имеет еще ряд функций и
процедур:
deriv(f(x),x) — вычисление производнойф-ции f(x);
integ (f(x),x,a,b) — вычислениеопределенного интеграла от f(x) в
пределах от а доb.
fact(n) — вычисление факториала числа n;
ncum(x) — вычисляет специальную функциюошибок Р(х) для нормаль-
ногораспределения;
poly(x,an,...,a0) - вычисляет значение всех действительных и
комплексныхкорней полинома an*x^n+...a1*x+a0 и позволяет задать функ-
цию P(x)вычисляющую значение полинома в точке х.
sum(f(i),i,n,k) — вычисляет сумму f(i) при 6 0индекс 6е 0 i, меняющемся
от n до k.
В системе Eure 6k 0a пользователь имеет возможность задавать необхо-
димые ему функциичерез имеющиеся встроенные. Функции пользователя за-
даются в виде:
Имя ф-ции (список переменных)=выражения
или
Имя ф-ции (список переменных):=выпажение
Вторая форма используется если заданная функциональнаязависи-
мостьрассматривается как приближения.
б) Eureca не вычисляет производные (иинегралы) в аналитической
форме. Она можетвычислять значения производной в точке численным ме-
тодом. С помощью системы Eure 6k 0aможно вычисл 6я 0ть и производные более
высокого порядка.Например, чтобы вычислить вторую производную функции
sin(x),достаточно написать:
F=deriv(deriv(sin(x),x),x).
Ниже приводится запись в окне Edit. Комментарии помогают понять
смысл записи.
; Вычисление производной
$ settings ; Установка
digits=12 ; числа знаков
$ end ; результата
; Задана функция d(x)=d(sin(x))/dx
d(x)=deriv(sin(x),x)
d1=d(4.3); Вычислена функцияd(x)=cos(x)
; в точке x=4.3
После этого для получения решения надоподняться в верхнюю строку
меню иактивизировать пункт Solve. При этом используя пункт меню
6G 0raphможно построить график d(x).
в) Пусть f(x) — функция, определенная наотрезке [a,b]. Предполо-
4_
жим, что на этом отрезке содержитсяединственная точка x локального
4-
минимума f(x),причем функция строго убывает при 7 0x 7, 0x и строговозрас-
4-
тает 7 0при 7 0x 7. 0x. Такая функция называется унимодальной. Заметим, что
достаточнорассмотреть задачу минимизации функции f(x), так как макси-
мизациясводится к минимизации с помощью введения новой функции
g(x)=-f(x). Такимобразом будут решены оба варианта экстремальной за-
дачи.
Ряд методов минимизации основан на сравнении значений функции
f(x), вычисляемыхв точках x1,x2,...,x 4n 0. Эти методы часто называют ме-
тодами прямогопоиска, а точки x 4i 0 — пробными точками. Одним из наибо-
лее эффективныхметодов из этого ряда является метод золотого сечения.
Золотым сечением отрезка называетсятакое разбиение отрезка на
двенеравные 6 части, что отношение 0 длины всего отрезка к длине 6 0его бо 6-
льшей части равноотношению длины 6 0большей части к длине меньшей части
отрезка.
Золотое сечение отрезка [a,b] осуществляется каждой из двухсим-
метричнорасположенных относительно центра отрезка точек:
62 2
7a 6=a +───────── ( b — a) 7 b 6=a +───────── ( b — a )
7|\ 6 7|\\
63 + 7? 6 5 1 + 7? 6 5
При этом точка 7a 0 осуществляет золотое сечение не только отрезка
[a,b], но иотрезка [a, 7b 0 ]. Кроме того точка 7 b 0 осуществляетзолотое се 6-
чение не толькоотрезка [a,b], но и отрезка [ 7a 0,b].
Очередная (к+1) 6 0 интерации 6 0производится следующим образом. 6 0Точки
7a 5(k) 0и 7b 5(k) 0 7 0находятся по формулам:
62 5 62
7a 5(k) 6=a 5(k) 6+────────── 7 D 5(k) 7 b 5(k) 6=a 5(k) 6 +────────── 7D 5(k)
7|\\ 6 5 7|\\
63 + 7? 65 5 61 + 7? 6 5
6г 0де 7D 5(k) 0 — длина отрезка локализации экстремума при к 5ой 0 интерации.
Если 6f( 7a 5(k) 6) 5 7, 5 6f( 7b 5(k) 6) , то
6┌ ┐ ┌ ┐
6x 5(k+1) 0 6принадлежит 0 6│ 0 6a 5(k+1) 4, 6b 5(k+1) 6│ 5= 6│ 0 6a 5(k) 4, 7b 5(k) 6│ 0 7`
6└ ┘ └ ┘
6и x 5(k+1) 6= 7a 5(k)
Если 6f( 7a 5(k) 6) >f( 7b 5(k) 6) , то
6┌ ┐ ┌ ┐
6x 5(k+1) 6 принадлежит│ a 5(k+1) 6,b 5(k+1) 6│=│ 7a 5(k) 6,b 5(k) 6│
6└ ┘ └ ┘
6и x 5(k+1)= 7b 5(k)
Заметим, что точка 6x 5(k) 0отстоит от концов отрезка [a 5(k) 0, b 5(k) 0] на
вел 6и 0чину,не превышающую 62
6────────── 7 D 5(k)
7|\\ 6 .
61 + 7? 6 5
Поэтому верна оценка:
62
6│ x 5(k) — 6x 5* │ 7 , 6────────── 7 D 5(k) 6 = 7 D 5(k+1)
7|\\ 6 .
61 + 7? 6 5
7|\
7? 0 65 + 1
Т.к. каждая интерация сокращает длину отрезка 6 0в 6 ─────────────
62
6раз, 0то справедлива следующая оценка погрешности:
6┌ ─┐ 5k+1
6│ 2 │
6│ x 5(k) 6- x 5* │ 7, 6│───────────│ 5 (b — a)
6│ 7|\\ 6 │
6└ 1 + 7? 6 5 7 6┘
Таким образом, метод золотого сечения сходится со скоростьюгео-
метрическойпрогрессии, знаменатель которой
52
g 5 0= 5─────────── 7 ~ 6 0.62
7|\\
61 5 6+ 5 7? 6 5
Существуют методы, которые могут оказаться болееэффективными,
если минимизируемаяфункция достаточно гладкая. Часть из нихявляется
простомодификациями методов решения нелинейных уравнений применитель-
но к уравнениюf(x)=0.
г) Eure 6k 0a позволяет решать задачу поиска экстремума функции при
помощи заданиядиректив: 7 0$min и $max. При этом если функция имеет нес-
колькоэкстремумов, то для нахождения того который нужен имеет смысл
нарисовать графикфункции и исходя из этого графика задать начальное
приближениеи ограничени 6я 0 для поиска экстремума. В противном случае
поиск экстремумабудет происходить от начальных значений заданных сис-
темойEure 6k 0a по умолчанию и может привести не к тому экстремуму, кото-
рый хотелось бынайти. Ниже приводится пример 6записи из окна Edit. Эта
6записьпозволяет найти экстремум.
$ max (T)
V(x)=5*x*exp(-x/2)*(2+sin(3*x))
x:=2
V(x)>10
T=V(x)
В результате решения получается:T=10.629942, x=2.5805014 6.
д) Корень х 5* 0 уравнения f(x)=0 называется простым, еслиf(x 5* 0)=0 и
f'(x 5* 0) 7- 00.В противном случае корень называется кратным. Целое число m
называетсякратностью корня x 5* 0, еслиf 5(k) 0(x 5* 0)=0 для к=0,1,2,...m-1 и
f 5(m) 0(x 5* 0) 7- 00. 7 0Геометрически 7 0корень 7 0x соответствует 7 0точке 7 0пересечения
графика 7 0функции y=f(x) с осьюO 6x 0. Решение 7 0задачи 7 0отыскания корней
нелинейногоуравнения осуществляет в два этапа.Первый этап называ 6-
ется этапомлокализации корней, второй - этапом итерационного уточ 6-
нениякорней. 6 0 Первый 6 0этап удобно 6 0выполнять при помощи графических
средств системыEure 6k 0a. 6 0На втором этапе для 6 0вычисления каждого из
корней сточностью 6e 0>0 используют какой-либо из итерационных 6 0методов,
позволяющих 5 0построить последовательность 6x 5(0) 0, 6x 5(1) 0,.., 6x 5(n) 0... 5 0прибли 6-
жений, 6 0сходящуюся 5 0к 5 0 корню 6x 5* 0. 6 0Сформулируем 6 0 одиниз 6 0этих 6 0методов
в 6 0виде теоремы.
6Теорема 0 61. 0(о сходимости метода Ньютона)
6───────────────────────────────────────────
Пусть 6x 5* 0- простойвещественный корень уравнения f(x)=0 и пусть
f'(x) 7- 00в окрестностиU 4r 0(x 5* 0)={x: 6│ 0x-x 5* 6│ 0<r}.Пред 6п 0оложим, что f''(x) неп-
рерывна вU 4r 0(x 5* 0) и