Читайте данную работу прямо на сайте или скачайте
Работа с программой 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фика функции более подробно.
Способ N 1
7\\\\\\\\\\\\\
Активизируйте (т.е. подведите курсор и нажмите 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 Повторноеа нажатие F5а приводита к воз-
6вращению экран ва состояние 0 6 существовавшее до первого нажатия этой
6клавиши. 0 График может быть перерисован на весь экран в сиволах псевдо-
6графики, 0 6если преред F5 была нажата клавиша F4. 0 6 При этом, для того
6чтобы вернуться в режима позволяющий использовать 0а 6истинную графику
6необходимо нажать F7.
Способ N 2
7\\\\\\\\\\\\\
Войдите в окно 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)).
Поднимитесь в верхнюю строку меню и активизируйте в ней пункта Solve.
После того, как вычислительная задача будет решена активизируйте пункт
6меню Graph. В открывшемся подменю активизируйте пункт Plot. При этом
6появится меню, позволяющее выбрать функциюа (из числа определенных в
6окне Edit) для построения графика. Выбора функцииа осуществляется при
6помощи курсора. Его надо подвести к названию функции и нажать Enter.
Далее выполняются те же действия, что и в I 5ом 6 способе после активиза-
6ции пункта Plot.
Если возникает потребность в построении графика другой функции (из
6числа определенных в окне Edit), то необходимо: войти ва окно Edit,
6выйти из этого окн (при этом редактировать записи не обязательно),
6активизировать пункт Solve и далее повторить описанные выше действия.
а Примечание
7\\\\\\\\\\\\\
Для вывода на экран функции в табличном виде пригодны оба описан-
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
П 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 │ <= 6 q/(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 В нашем 6 0случае
6det A 7- 60 0и поэтому в окне решений (Solution) появятся результаты, полу 6-
ченные с заданной точностью:
6X1=1. X2=3. X3=4.
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───────────
а) Проверьте приа помощи встроенного в 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 Решение система нелинейныха равнений.
Вычисление экстремум 6а 0 функций от одной переменной.
Цель работы
6──────────────
Приобретение навыков решения нелинейных уравнений и система нели-
нейных равнений при помощи систем Eure 6k 0a.
_Теоретическое введение
a) Алфавита системы Eure 6k 0aа содержит стандартный набор символов.
Это латинские прописные (от А до Z) и строчные (от до z)а буквы, а
также ряд спецзнаков.
: - разделитель для выражений размещенных в одной строке;
; - отмечает начало строки комментария;
{} - внутри скобок размещается комментарий;
[] - используется для работы с размерными комментариями;
$ - казывает, что следующее слово-директива;
= - операция присваивания;
:= - задание (определение)а функцииа пользователя или начальных
значений переменных.
Длинные выражения после символа арифм 6е 0тической операции можно пе-
реносить на другую строку.
Директивы, относящиеся к становкам, могут быть заданы ва окне
Edit в виде блока.
_Пример
$ settings
acuracy=0.1
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 Точки
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? 6 5 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а Геометрически 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 Н второма этапе для 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 корню 6 x 5* 0. 6 Сформулируем 6 0 один из 6а 0этих 6 0методов
в 6 0виде теоремы.
Теорема 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) и
0<m=inf 5│ 0f'(x) 5│ 6, 5 0M=sup 5│ 0f''(x) 5│ 0 6, 0 6где x 0при 6надл.U 4r 6(x 5* 6)
6причем
6M │x 5(0) 6 - x 5*│
6q = ────────────── 5── 6 < 1а.
62 m
Тогда, если 5 0начальное приближение 5 6x 5(0) 6принадлежит 5 0U 4r 0(x 5(*) 0), 6 0то
метода Ньютона
6f(x 5(k) 6)
6x 5(k+1) 6=x 5(k) 6- 5 ──── 6──────, где k=0,1,2,... сходится к x 5(*) 6,
6f'(x 5(k) 6)
причем 6 0для 6 0погрешности 6 0справедлива оценка
6│ x 5(k) 6- x 5* 6 │ 7, 6 q 5t-1 │ 6x 5(0) 6 - x 5* │ 6, где t=2 5k 6.
_Замечание 1.
Аналогичные теоремы существуют для случая кратныха и комплексных
корней.
_Замечание 2.
Как известно, экстремумы функции f(x) находятся в точках, где
f'(x)=0. Поэтому если для g(x)=f'(x) выполняются условия приведенной
выше теоремы, то итерационный процесс, приближающий к точке экстрему-
ма 6 f(x) 0, будет иметь вид:
6f'(x 5(k) 6)
6x 5(k+1)= 6x 5(k) 6 - ────────────, где k=0,1,2,....
6f''(x 5(k) 6)
е) Задача отыскания решения системы из N-нелинейных равнений с N
неи 6з 0вестными, имеющая вид
f 41 0 ( 6x 41 0, 6x 42 0,..., 6x 4n 0)=0
f 42 0 ( 6x 41 0, 6x 42 0,..., 6x 4n 0)=0 6 0 (1)
......................
а 6f 0n ( 6x 41 0, 6x 42 0,..., 6x 4n 0)=0
встречается 6 0очень 6 0часто, т.к. в 6 0реальных 6 0исследованиях определя-
ются 6а 0сотни 6 0или 6 0даже 6 0тысячи 6 0параметров. Первым 6 0этапом 6 0 решения
так 6 0же, 6 0как 6а 0и 6 0в 6 0одно 6мер 0ном 6 0случае, 6 0является 6 0локализация 6 0решения
x 5* 0=( 6x 41 0,..., 6x 4n 0) 6 0, 6 0т.е. подбор множества содержащего 6x 5* 0.
(Здесь далее нижний индекс будет означать номер компоненты векто-
ра, верхний - номер интерации). Часто в качестве такого множества
выступает параллепипеда или шар в N - мерном пространстве. Во многих
случаях полное решение задачи локализации невозможно и ееа можно счи-
тать решенной удовлитворительно, если из каких либо соображений дает 6-
ся 6 0найти хорошее 6 0начальное приближение 6x 5(0) 0. 6 В 6 0простейших 6 0случаях
(для система двух равнений с двумя неизвестными) могут быть использо-
ваны графические методы.
На втором эт 6а 0пе для 6вычисления 0решения с заданной точностью ис-
пользуют один из итерационных методов. Рассмотрим в качестве примера
метод, называемый методом простой итерации. Преобразуем систему (1) к
следующему эквивалетному виду ( к виду добному для интераций):
6x 41= 7F 41 6(x 41, 6x 42,...., 6x 4n 6)
6x 42 6= 7F 42 6(x 41 6,x 42 6,....,x 4n 6)
6.................... (2)
6x 4n 6= 7F 4n 6(x 41 6,x 42 6,....,x 4n 6)
Если ввести вектор-функцию, 6 7 F 6=( 7F 41 6, 7F 42 6,...., 7F 4n 6) 5T 6, 0то 6 0 система (2)
запишется так:
6x= 7F 6(x) (3)
Пусть начальное приближение 6x 5(0)=( 6x 41 5(0) 0, 6x 42 5(0) 0,..., 6x 4n 5(0) 0) 5T 0 задано.
Подставляя 6а его 0в правую 6а 0часть 6 0системы (3), 6 0 получим 6а x 5(1) 6= 7F 6(x 5(0) 6) 0.
Подставляя 6 x 5(1) 0 в 6 0 правую часть (3), 6 0найдема 6x 5(2) 6= 7F 6(x 5(1) 6) и 0т.д.
Продолжая 6 0вычисления 6 0по формулам 6а x 5(k+1) 6= 7F 6(x 5(k) 6), 0а 6k 7. 60 0 получим пос 6-
ледовательность 6x 5(0) 0, 6x 5(1) 0,..., 6x 5(k) 0,... приближений к решению 6x 5* 0.
6┌ ┐
6 d 7 F 41 6(x) 7 6d 7F 41 6(x)а │
6│ 4 ───────── 6─ ...... ───────── │
6а dx 41 6 7 6а 7 6dx 4n 6 -а матриц ( частных
6│.............................│
Пусть 7F 6'(x) = 0 6│............................. производных )а Якоби
6│ │
6 7 6d 7F 4n 6(x) 7 6d 7F 4n 6(x) 4 6 соответствующая 7 F 6(x).
6│ ─────────....... ───────── │
6а 7 6dx 41 6 7 6dx 4n 6 │
6└ ┘
Сф 0ормулируем теорему о сходимости метода простых интераций.
Теорема 2.
6───────────────
Пусть в некоторой 4 7s 0- окрестности 4 0решения 4 6x 5* 0 функции 4а 0 7F 4i 6(x)
(i=1,2,...,n) дифференцируемы и выполнено неравенство
6n
6──────┐а │ │
6m a x 0а 6\ │ 7 6d 7F 4i 6(x) │
61 7, 6i 7, 6n 0 6/ │─────────│ 7 , 6 q 5 6, гдеа 0 7, 6q<1 и q - постоянная.
6──────┘а а 7 6dx 4j 6а │
6j=1 │ │
Тогда независимо от выбора начального приближения 6x 5(0) 0 из казан-
ной 7s 0- окрестности 7 0корня 7 0итерационная последовательность не выходит
из этой окрестности, метод сходится со скоростью гео 6м 0етрической прог 6-
рессии и справедлива следующая оценка погрешности:
6m a x │ x 4j 5(k) 6 - x 4j 5* 6 │ 7 , 6а q 5k 6 m a x │ x 4j 5(0) 6 - x 4j 5* 6│
61 7, 6j 7, 6n 1 7, 6j 7, 6n
(При помощи понятия нормы теорема 2 может быть сформулирована в
более общем виде).
_Замечание 3.
В словиях теоремы 2 верна апостериорная оценка погрешности:
6q
6m a x │ x 4j 5(k) 6 - x 4j 5* 6 │ 7, 6а ────────а m a xа │ x 4j 5(k) 6 - x 4j 5(k-1) 6 │
61 7, 6j 7, 6n 0 5 61 -а q 1 7, 6j 7, 6n
При наличии достаточно хорошего начального приближения 6x 5(0) 0 можно
считать, что
6n
6──────┐а │ 5 6│
6q 7 ~ 6 m a x \ │ 5 7 6d 7F 4i 6(x 5(0) 6) │
61 7, 6i 7, 6n 0 6/ │──────────── 5─ 6│
6──────┘а │ 5 7 6dx 4j 6 5 │ 6.
6j=1 │ 5 │
_Пример
В результате визуального анализа графиков кривых f1 и f2 из сис-
темы нелинейных уравнений
6f(x 41 6,x 42 6) = x 41 53 4 6+ x 42 53 6 - 8x 41 6x 42 6 = 0
6(4)
6f(x 41 6,x 42 6) = x 41 6ln(x 42 6) - x 42 6ln(x 41 6) = 0
обнаружилось, 5 0что 5 0 одно из ее решений 4 0находится вблизи точки 5 0(3.8 6; 02).
Проверить сходимость 5 0метода простых итераций для 5 0системы (4), 5 0если в
качестве 5 0начального 5 0приближения 5 0взята точка 6а x 41 5(0) 6=3.8а и x 42 5(0) 6=2.
Преобразуем систему к виду бдобному для применения метод прос-
тых итераций.
43 7|\\\\\\\\\\\\
6x 41 6 = 7? 6 8x 41 6x 42 6 - x 42 53а = 7 F 41 6(x 41 6,x 42 6)
6x 42 6 x 41
6x 42 6= x 42 6 + ──────── - ──────── = 7 F 42 6(x 41 6,x 42 6)
6ln(x 42 6) ln(x 41 6)
Для вычисления qа воспользуемся системой Eure 6k 0a. Сделаем в окне
Edit следующую запись:
x=3.8 : y=2
a=deriv ((16*x-8)^(1/3),x)
b=deriv ((30.4*y-y^3)^(1/3),y)
c=deriv (2+2/ln(2)-x/ln(x),x)
d=deriv (y+y/ln(y)-3.8/ln(3.8),y)
K=abs(a)+abs(b) : p=abs(c)+abs(d)
В результате решения получаем p<k 7~ 0 0.815...<1.
Cледовательно, метод простой итерации в данном случае сходится.
ж) Для того, чтобы найти оговоренное выше решение системы (4) при
помощи среды Eure 6k 0a, достаточно сделать в окне Edit cледующую запись
x^3+y^3=8*x*y
x*ln(y)=y*ln(x)
x:=3.8 : y:=2
и отдать среде команду Solve.
Задание
6──────────
а) Проверьте при помощи графика и таблицы из среды Eure 6k 0a наличие
корня y предложенного вам равнения f(x)=0 на казанном отрезке лока-
лизации корня.
б) Найдите при помощи системы Eure 6k 0a m и M. Проверьте выполнение
условия
6M │ x 5(0) 6- x 5* 6 │
6───────────────── 5 6а < 1
62 m
(из теоремы о сходимости метод Ньютона)а для вашего равнения
f(x)=0.
в) Решите ваше равнение при помощи системы Eure 6k 0a.
г) Изобразите на миллиметровке графики кривых из предложенной вам
системы нелинейных равнений ва казаннома прямоугольнике локализации
корня. Выберите начальное приближение корня. Представьте систему в ви-
де 6x= 7F 6(x).
д) Используя систему Eureka, вычислите
6n
6─────┐ │ 5 6│
6\ 7 6d 7F 4i 6(x 5(0) 6) │
6/ │────────── 5─── 6│
6─────┘ │ 4 7 6dx 4j 6 5 6│
6j=1а │ 5 6│
для каждой i-ой строки 6 Якобиана (i=1,2,..., 6n 0). 6 На основании 6 0этого
проверьте выполнение словий теоремы о сходимости метода простой ите 6-
рации.
е) Решите вашу систему при помощи Eureka.
Лабораторная работа N3
6───────────────────────────────
Экстремумы функции многих переменных. Задача линейного
программирования.
Цель работы.
6───────────────
Приобретение навыков вычисления экстремумов функции многиха пере-
менных и решения задачи линейного программирования при помощи системы
E 6u 0reka.
Теоритическое введение.
6────────────────────────
а) Пусть f(x)= 6f 0(x 41 0, ...,x 4n 0) - функция от n действительныха пере-
менных, минимизируемая на некотором множестве Х. Если Х=R 5n 0, то говорят
о задаче безусловной минимизации. В противном случае говорят о задаче
условной 6 0минимизации. Как 6 0и для функции 6 0одной 6 0переменной, 6 0задача
максимизации функции f(x)а сводится к задаче минимизацииа функ 6-
ции g(x)=-f(x).
Из курса математики известно, что градиент функции f(x), опреде-
ляемый в точке а=(а 41 0,..., а 4n 0) как вектор
6┌ 7 6df(a) 7 6df(a) ┐
6u(a) = │────────,...., ─────────, указываета направление
6└а 7 6dx 41 6 7 6dx 4n 6а ┘
наискорейшего 6 0возрастания 6 0 функции f(x) в точке а. 6 Вектор -u(a), на 6-
зываемый антирадиентом, казывает 6 0направление наискорейшего 6 0 бывания
функции f(x) в точке а. Точка называется стационарной точкой функции
f(x), если в этой точке выполняются n равенств:
7(
72 6 df(a)
72 6а ──────── = 0
72 6 7 6dx 41
7* 6..............
72
72 6 df(a)
72 6а ──────── = 0
79 4 6dx 4n
Пусть f(x) дважды 6 0 непрерывно дифференцир 6уема 0. Тогда достаточным
условием того, чтобы стационарная точка была точкой локального мини-
нума, является положительная определенность матрицы:
6┌ 4 6┐
6│ 4 6│
6 d 52 6f(a) 7 6 d 52 6f(a) 7 4 6│
6│ ────────,.....,──────── 4 6│
4^ 6 dx 41 6dx 41 6 dx 41 6dx 4n 6а │
А(x) = │.........................│
6│ │
6│ 7 6d 52 6f(a) 7а 6d 52 6f(a) 7а 6│
6│ 4──────── 6,....., 4──────── 6 │
6 dx 4n 6dx 41 6 dx 4n 6dx 4n 6а │
6└ ┘
4^ ^
Матрица А называется матрицей Гессе. Напомним, что матрица А 4а 0по 6 4^ ^
ложительно определена, еслиа 6(Ax,x)>0 0 6 0при 6 x 7- 60 0 6 0и 6 (Ax,x)=0 0 6 0при 6 x=0,
гдеа 6x=(x 41 6,...,x 4n 6) 5T 6.
Сущесвует большое количество различных методов нахождения безус-
ловного минимума функции многих переменных. Рассмотрим в качестве при-
мера один из них. Этод метод называется методом наискорейшего спуска и
является одним из представителей большого семейства итерационных мето-
дов. Пусть х 5(k) 0- приближение к точке минимума х, а u 5(k) 0=u(x 5(k) 0) -зна 6-
чение 5 0градиента в точке х 5(k) 0. 5 Напомним еще раз, что в малой 5 0окрест-
ности точки х 5(к) 0 направление наискорейшего бывания функции f(x) зада-
ется антиградиентом 5 0-u 5(k) 0. Исходя из этого итерационную формулу мето-
дом наискорейшего спуска записывают в виде:
6x 5(k+1) 6 = x 5(k) 6- 5 7a 4k 6u 5(k) 4 6 4 6(1)
Здесь - 7a 4к 0 шаг спуска, выбираемый из соображений минимизации функции
от одной скалярной переменной 7f 4k 6( 7a 6) = f(x 5(k) 6- 5 7a 6u 5(k) 6)а 0при 8 5 7a 0>0. 5 Т.е.
6в 0качестве 7 a 4к 6 0выбираем 6 7 a 0 для которого 7 f 4k 6( 7a 4k 6) = 7 6min 7f 4k 6( 7a 6) 0а 6при 0 7a 6>0.
Рассмотрим применение этого метода для минимизации квадратичной
функции f(x 41 0,..., x 4n 0)=f(x), где
6n n 4 6n
61а ────┐ ────┐ 4 6────┐
6f(x) = ───а \ \ a 4ij 6x 4i 6x 4j 6 - \ b 4i 6x 4i 6 (2)
62 / / 4 6/
6────┘ ────┘ 4 6────┘
6i=1 j=1 i=1
Коэффициенты а 4ij 0а являются элементами симметричной положительно
определенной матрицы А. Используя матричные обозначения, запишем f(x)
так:
61
6f(x) = ───(Ax,x) - (b,x) 4 6 4 6(3)
62
Вычислим градиент и матрицу Гессе для функции (2).
6┌ n n 4 6┐' 4 ┌ 6 n 4а 6 ┐'
6d f(x) 0 61 0 6│ ─────┐ ─────┐ 4 6│ 4 │ 6 ─────┐ 4а 6 │
6─────── 0 6= 4─── 6 \ \ a 4ij 6x 4i 6x 4j 6 │ 4 6- 4а │ 6 \ b 4i 6x 4i 6а │
6d x 4k 6 0 62 / / 4 6│ 4 6 4а │ 6а / 4а 6│ =
6│ ─────┘ ─────┘ 4 6│ 4 │ 6 ─────┘ 4а 6│
6└а i=1 j=1 4 6┘x 4k └ 6а i=1 4а 6 ┘x 4k
4( 6 где k=1,....,n)
6┌ n 4 6 n 4 6 n 4а 6 4а 6┐'
61 0 6│ ─────┐ 4 6а 4а 6 ─────┐ 4 6 ─────┐ 4 6│
6= 0 6─── \ a 41j 6x 41 6x 4j 6+..+а \ a 4kj 6x 4k 6x 4j 6 +..+а \ a 4nj 6x 4n 6x 4j 6│ - b 4k 6 =
62 0 6 / 4 6 4а 6 / 4 6/ 4 6│
6│ ─────┘ 4 6 4а 6─────┘ 4 6─────┘ 4 6│
6└а j=1 4 6 4 6j=1 j=1 4а 6 4а 6┘x 4k
61 ┌ 4 6 4 6┐
6= ───│ a 41k 6x 41 6 +..+ (a 4k1 6x 41 6 +..+ 2a 4kk 6x 4k 6 +..+ a 4kn 6x 4n 6) +..+ a 4nk 6x 4n 6 │ - b 4k 6 =
62 └ 4 6 4 6┘
61 ┌ 4 6 4 6 4 6┐
6= ───│ (a 41k 6 + a 4k1 6)x 41 6 +..+ 2a 4kk 6x 4k 6 +..+ (a 4kn 6 + a 4nk 6)x 4n 6 │ - b 4k 6 =
62 └ 4 6 4 6 4 6┘
6( т.к. матрица A симметричная )
6n
61 ┌ 4 6 4 6┐ 4 6─────┐
6= ───│ 2a 4k1 6x 41 6 +..+ 2a 4kk 6x 4k 6 +..+ 2a 4kn 6x 4n 6 │ - b 4k 6 = \ a 4kj 6x 4j 6 - b 4k
62 └ 4а 6 4 6┘ 4 6а /
6─────┘
6j=1
Окончательно получаем:
6n
6df(x) ─────┐
6─────── =а \ a 4kj 6x 4j 6 - b 4k (4)
6dx 4k 6 /
6─────┘
6j=1
Тогда в матричной форме можно записать:
6u(x) = Ax - b (5)
Дифференцируя обе части равенства (4) по х 4р 0 (р=1,...n), получаем 4 0:
6d 52 6f(x)
6───────── = a 4pk
6dx 4p 6dx 4k
4^
Таким образом, матрица Гессе А(х) не зависит от х и равна А.
Т 0еперь благодаря формуле (5) формулу (1) можно записать в виде:
6x 5(k+1) 6 = x 5(k) 6 - 7 a 4k 6(Ax 5(k) 6- 5 6b) (6)
Заметим, что 5 6:
61
7f 4k 6( 7a 6) = ───(A(x 5(k) 6- 5 7a 6u 5(k) 6),x 5(k) 6 - 7 a 6u 5(k) 6) - 5 6(b,x 5(k) 6 - 7 a 6u 5(k) 6) =
62
6(*)
61 5 6 5 61
6= ───(Au 5(k) 6,u 5(k) 6 ) 7a 52 6 - (u 5(k) 6,u 5(k) 6) 7a 6 + ───(Ax 5(k) 6,x 5(k) 6) - (b,x 5(k) 6)
62 5 62
6( Доказательство формулы (*) см. в конце лабораторной работы N 3 )
Эта функция является квадратичной функцией параметра 8 7a 0 и достига-
ет минимума при таком значении 8 7a 0= 7a 4к, 0 для которого
7f 4k 5' 6( 7a 4k 6) = (Au 5(k) 6,u 5(k) 6) 7a 4k 6 - (u 5(k) 6,u 5(k) 6) = 0
Таким образом, применительно к минимизации квадратичной функции
(3) метод наискорейшего спуска эквивалентен расчетуа по формуле (6),
где
6(u 5(k) 6,u 5(k) 6)
7a 4k 6 = ──────────── 5─── 6 (7)
6(Au 5(k) 6,u 5(k) 6)
Имеет место следующая теорема.
_Теорема
Пусть А - симметричная, положительно определенная матрица, и мини-
мизируется квадратичная функция (3). Тогда при любом выборе начального
приближения метод наискорейшего спуска (6), (7) сходится и верна сле-
дующая оценка погрешности
7|\\\\\\\ 6а ┌ ┐ 5n
7/а l 4max 6 │ 7а l 4max 7 6- 7 l 4min 6а │
6│ x 5(k) 6 - x 5* 6│ 7, 6 7/ 6────────а │───────────────│ 5 │ 6x 5(0) 6 - x 5* │
7? l 4min 6 │ 7а l 4max 7 6+ 7 l 4min 6а │
6└ ┘
Здесь 7l 4min 7 0и 7l 4max 7 0- минимальное и максимальное собственные зна 6-
чения матрицы А.
б) Систем Eurekaа решаета задачиа на поиск минимума (максимума)
функции 6 0нескольких 6 0переменных. При 6 0этома могута быть заданы ограни 6-
чения и добные для поиска 6 0начальные значения. 6 Для проверки 6 0способ 6-
ности системы Eureka решать оптимизационные задачи разработан ряд тес 6-
товых задач, содержащих подвохи. Одна из таких задач - поиск минимума
функции Розенброка. Э 0т функция 6 0двух переменных образует в трехмер 6-
ном пространстве " овраг ", затрудняющий поиск. Далее приводится за 6-
пись из окнa Edit, позволяющая минимизировать функцию Розенброка.
6$ min (F)
6f(x,y)=100*(y-x^2)^2+(1-x)^2
6F=f(x,y)
6x:=-1.2
6y:=0
Начальное значение переменных далеки от решения х=y=1 и F=0.
Еще одна тестовая задача содержит ограничения.
6$ min (F)
6f(x,y)=(x-2)^2+(y-1)^2
6F=f(x,y)
6-x^2+y>=0
6-x-y+2>=0
Точное решение: F=1, x=1, y=1.
При решении оптимизационных задач с ограничениями Eure 6k 0a выводит
в окне Solution сообщение о том, насколько полно довлетворены ограни-
чения. В идеальном случае выводится 100 %. Если это число значительно
меньше чем 100 %, то это может служить признаком неточного нахождения
экстремума. Пока не существует программа, которая была бы способна ре-
шить любую оптимизационную задачу. Поэтому надо быть готовым к тому,
что Eurekaа может не справиться с предложенным ей заданием.
в) При решении ряда технологических и экономических проблема воз-
никает задача вида:
найти max Z(x) или min Z(x)
6n
6─────┐
если 6 Z(x) =а \ c 4j 6x 4j 6 + c 40
6/
6─────┘
6j=1
при ограничениях
6n
6─────┐
6\ a 4ij 6x 4j 7 , 6 b 4i 6 ( i=1,m 41 6 )
6/
6─────┘
6j=1
6n
6─────┐
6\ a 4ij 6x 4j 6 = b 4i 6 ( i=m 41 6+1,m 42 6 )
6/
6─────┘
6j=1
6n
6─────┐
6\ a 4ij 6x 4j 7а. 6 b 4i 6 ( i=m 42 6+1,m )
6/
6─────┘
6j=1
6x 4j 7. 6v 4j 7. 60а 4 6а 4 6( 4 6j=1,n 41 6)
6x 4j 7, 6w 4j 7, 60 4 6 4 6( 4 6j=n 41 6+1,n 4 6)
Такие задачи называются задачами линейного программирования. Для
решения этих задач создан специальный метод, называемый симплекс-мето-
дом. Изучение задач линейного программирования является предметом спе-
циального курса, поэтому рассмотрим здесь часный случай. Пусть n=2
(т.е. Z(x)=с 41 0х 41 0+с 42 0х 42 0+с 40 0 ) и при этом заданы следующие ограничения
2
─────┐
\ 6 a 4ij 6x 4j 7, 6 b 4i 6 ( i=1,m )
/
─────┘
6j=1
6x 4j 7. 6v 4j 7. 60 4а 6 ( j=1,2 )
В этом случае решение задачи имеет наглядную геометрическую инт 6ер 0-
претацию. 6 Исходя из заданных ограничений 6 0строится многоугольника до-
пустимых решений. Далее, для каждой точки плоскостиа функция Z(x)
принимает 6 0фиксированное 6 0значение Z 4т 0. 6 Множество 6 0всех 6 0точек, в кото 6-
рых, 6 0Z(x)=Z 4т 0 есть 6 п 0рямая 6 0с 41 0х 41 0+с 42 0х 42 0+с 40 0=Z 4т 0 6 0перпендикулярная 6 0вектору
76
6C 0=(с 41 0,с 42 0), выходящему 6 0иза начала 6 0координат. Если эту прямую предви 6-
гать 6 0параллельно 6 0самой 6 0себе 6 0по 6 0направлению вектора с, то линейная
функция Z(x) будет возрастать, в противоположном направлении - бы 6-
76
вать. Пусть при движении прямой Z по направлению вектора 6C 0 она впервые
встретится с многоугольником допустимых решений в одной из его вершин.
Зафиксируем это положение прямой Z. В этой точке функция Z(x)а примет
минимальное значение.
76
При дальнейшем движении прямой Z по направлениюа вектор 6C 0а она
пройдет через другую вершину, выходя из многоугольника допустимых ре-
шений. В этой точке функция Z(x) примет максимальное значение.
Вообще говоря, прямая Z может иметь с многоугольником допустимых
решений (на входе и на выходе ) либо одну общую точку (выршину многоу-
гольника), либо бесконечное множество точек (сторону многоугольника).
Если область допустимых решений незамкнута, то минимума и (или) макси-
мума Z(x) можем не быть совсем.
Рассмотрим типичную задачу линейного программирования. Пусть не-
кий цеха с про 6и 0зводительностью 450 тонн продукта в месяц способен про-
изводить три разновидности этого продукта. Согласно договорам цех дол-
жен изготовить не менее 40-ка тонн первой, 60-ти тонн второй, 80-ти
тонн третьей разновидности продукта за месяц. Для изготовления этих
разновидностей продукт используются четыре материала в различных со-
отношениях. Цех располагает следующими запасами материалов:а первого -
100 тонн, второго - 150 тонн, третьего - 120 тонн и четвертого - 180
тонн. Данные о расходах материалов на производство одной тонны каждой
разновидности продукта сведены в таблицу.
┌─────────────────┬─────────────┬───────────┬───────────┬────────────┐
│ 6──┐Расход матери- 0│ │ │ │ │
6 └──┐ала на 0 6одну 0│ │ │ │ │
6│Раз- 0 6└──┐тонну 0 6│ 0 I-го II-го -го │ IV-го │
│ 6новидно-└───┐ 0 6│ 0 │ │ │ │
│ 6сти продукта└──── 0│ │ │ │ │
├─────────────────┼─────────────┼───────────┼───────────┼────────────┤
│первая 0.3 тонны │ 0.2 тонны │ 0.4 тонны │ 0.4 тонны │
├─────────────────┼─────────────┼───────────┼───────────┼────────────┤
│вторая 0.2 тонны │ 0.1 тонны │ 0.3 тонны │ 0.6 тонны │
├─────────────────┼─────────────┼───────────┼───────────┼────────────┤
│третья 0.2 тонны │ 0.5 тонны │ 0.2 тонны │ 0.3 тонны │
└─────────────────┴─────────────┴───────────┴───────────┴────────────┘
Требуется найти оптимальное (в смысле максимизации прибыли) коли-
чество каждого вида изготавливаемого продукта при словии, что стои-
мости 6 0разновидностей 6 0этого 6 0продукта 6 0равны: 6 0первого - 13.5, второ 6-
го -11.3 6 и 0 третьего - 8.2 денежные единицы за тонну.
Для решения приведеннойа выше задачи при помощи системы Eureka
нужно сделать следующую запись в окне Edit.
6$ max (f)
6Z(x,y,v)=13.5*x+11.3*y+8.2*v
60.3*x+0.2*y+0.2*v 7, 6 100
60.2*x+0.1*y+0.5*v 7, 6 150
60.4*x+0.3*y+0.2*v 7, 6 120
60.4*x+0.6*y+0.3*v 7, 6 180
6x 7. 640 : y 7. 660 : v 7. 680
6x+y+v 7, 6450
6f=Z(x,y,v)
После решения получаем следующие результаты.
6f 7~ 6 4538.9983, x 7~ 6 90.001006, y 7~ 6 119.99876, v 7~ 6 239.85
6x+y+v 7~ 6 499.6
Поcлеа подстановки получаем:
60.3*x+0.2*y+0.2*v 7~ 6 99.23
60.2*x+0.1*y+0.5*v 7~ 6 150.
60.4*x+0.3*y+0.2*v 7~ 6 120.
60.4*x+0.6*y+0.3*v 7~ 6 179.61
_Вывод формулы (*)
61
6───(A(x - 7a 6u),x - 7 a 6u) - (b,x - 7 a 6u) =
62
61 1
6= ───(A(x - 7 a 6u),x) - ───(A(x - 7a 6u), 7a 6u) - (b,x) + (b,u) 7a 6 =
62 2
61 ┌ ┐
6= ───│ (Ax,x) - (Au,x) 7a 6 - (Ax,u) 7a 6 + 5 6(Au,u) 7a 52 6 │- (b,x) + (b,u) 7a 6 =
62 └ ┘
6─────────────────────────────────────────────────────────────────────
Заметим, 6 0что (Au,x) 6 0= 6 0(Ax,u). 6а Действительно, 6 0(Au 6, 0x) 6 0= 6 0( 6u 0, 6Ax 0)
6т.к. А - симметричная матрица 6 и (u,Ax) = (Ax,u) по свойству скалярно-
6го произведения.
6─────────────────────────────────────────────────────────────────────
61 ┌ 5 ┐
6= ───│ (Ax,x) + (Au,u) 7a 52 │ 6 - (Ax,u) 7a 6 - (b,x) + (b,u) 7a 6 =
62 └ 5 ┘
6( т.к. u = Ax - b, то Ax = u + b )
61 ┌ 5 ┐
6= ───│ (Ax,x) + (Au,u) 7a 52 │ - 6(u + b,u) 7a 6 - (b,x) + (b,u) 7a 6 =
62 └ 5 ┘
61 7 6┌ ┐
6= ───│ (Ax,x) + (Au,u) 7a 52 6 │ - (u,u) 7a 6 - (b,u) 7a 6 - (b,x) + (b,u) 7a 6 =
62 └ ┘
61 1
6= ───(Au,u) 7a 52 - 6 (u,u) 7a 6 + ───(Ax,x) - (b,x).
62 2
Задание
6───────────
а) Составьте матрицу А для предложенной вам квадратичной функции.
Проверьте при помощи критерия Сильвестра положительнуюа определенность
матрицы А. Найдите
6( 7l 4max 6 - 4 7l 4min 6)
6q =а ───────────────
6( 7l 4max 6 - 7 l 4min 6)
являющееся знаменателем геометрической прогрессии со скоростью которой
сходится 6 0метод 6 0наискорейшего 6 0спуска. (Для этого составьте равнение
6det (A - 7 l 6E) = 0 и решите его используя процедуру 4 6poly(x,a 4n 6,...,a 40 6) 4.
б) Придумайте пример задачи линейного программирования и решите
эту задачу приа помощи системы Eureka. Измените коэффициенты целевой
функции и ограничения. Решите задачу заново. Придумайте трактовку по-
лученным результатам.
Лабораторная работа N4
4─────────────────────────
Приближение функций. Вычисление определенных
интервалов. Решение дифференциальных уравнений.
Цель работы
6──────────────
Приобретение навыков вычисления определнных интегралов, реше-
ния диф. уравнений и приближения функций методом наименьших квад-
ратов при помощи системы Eure 6k 0a.
Теоретическое введение
6─────────────────────────
I) 6а Вычисление определенных интегралов
7\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Разобъем отрезока интегрирования [a,b]а на отрезки [x 4i-1 0,x 4i 0]
точками a=x 40 0<x 41 0<...<x 4n 0=b. Интеграл разобъется при этом на сумму
интегралов:
6n x 4i
6────┐ ────┐ 7 !
6I = \ I 4i 6 =а \ 7 2 6а f(x) dx (1)
6/ / 7 2
6────┘ ────┘ 7 1
6i=1 x 4i-1
Обозначим: f 4i 6=f(x 4i 6), f 4i-1/2 6=f(x 4i-1/2 6) 4, 6 где x 4i-1/2 6=(x 4i-1 6+ x 4i 6)/2
Шаг h=x 4i 0- x 4i-1 0 будем считать постоянным.
а) Заменим 6 0приближенно 6 0каждый 6 0интеграл иза формулы (1)а пло-
щадью прямоугольника, основание 6 0которого 6 0отрезок 6 0 [x 4i-1 0,x 4i 0], вы-
сота равна f 4i-1/2 0. Тогда мы получим приближенное равенство:
6n
6─────┐
6I 7~ 6 hа \а f 4i-1/2 6 = I 4пр 6 4 6 (2)
6/
6─────┘
6i=1
Формула (2)а называется составной 6 0 квадратной 6 0формулой 6 0 прямоу-
гольников.
б) Заменима приближенно каждый интеграл 6 0 из 6 0 формулы (1) 6 0 пло-
щадью 4 0трапеции, стороны 4 0которой 6 4 6 [x 4i-1 6,x 4i 6], [x 4i-1 6,(x 4i-1 6,f 4i-1 6)],
6[(x 4i-1 6,f 4i-1 6),(x 4i 6,f 4i 6)] и 0а 6[x 4i 6,(x 4i 6,f 4i 6)]. 0 При 6 0этом мы получим прибли 6-
женное равенство: 6
6n
6┌ ─────┐ ┐
6│ f 40 6 + f 4n 6 \ f 4i 6 │
6I 7 ~ 6 h │─────────а + / = I 4тр 6 (3)
6│ 2 ─────┘ │
6└ i=1 ┘
Формула (3) называется составной квадратной формулой трапеций.
в) Заменим приближенно 4 0каждый интеграл 4 0иза формулы (1) пло 6-
щадью 6 0фигуры, расположенной 6 0под парабалой, проходящей через точки:
6(x 4i-1 6,f 4i-1 6) , (x 4i-1/2 6,f 4i-1/2 6) 0и 6(x 4i 6,f 4i 6) 0. 6а После 6 4 6 0интегрирования 6 4 0и
соответствующих преобразований получается приближенное равентство:
6n 4 6 n-1
6┌ 4 6 4 6а ─────┐ 4 6 ─────┐ ┐
6h 0а 6│ 4 6 4 6 \ 4 6 \ │
6I 7 ~ 6 ─── │ f 40 6+ f 4n 6 + 4 / f 4i-1/2 6а +а 2 / f 4i 6 │ = I 4с 6 (4)
66 0а 6│ 4 6 4 6─────┘ 4 6 ─────┘ │
6└ 4 6 4 6i=1 4 6i=1 ┘
Формула (4) называется составной квадратной формулой Симпсона.
г) П 6р 0иведенны 6е 0 выше способы в 5 0ычисления 5 0 определенного интегра-
ла 5 0дают достаточно х 5 0орошую 5 0точность. Погрешености 5 0этиха способов
таковы:
6M 42 6(b - a) M 42 6 (b - a)
6│ I - I 4пр 6│ 7, 6 ──────────── 4 6h 52 6а и │ I - I 4тр 6 │ 7 , 6 ──────────── h 52 6,
624 12
6где M 42 6 = m a x │ f 5'' 6(x) │
5[a,b]
6M 44 6 (b - a)
6│ I - I 4с 6 │ 7, 6 ───────────── h 54 6а, где M 44 6 = m a x │ f 5'''' 6(x) │
62880 5 [a,b]
д) c помощью системы Eure 6k 0a можно вычислять определенные интегра 6-
лы численным методом с контролем погрешности результата. Чем меньше
заданная погрешность, тем длинее 6 0процесс вычислений. 6 0 Далее приво 6-
дится запись, которую необходимо сделать в окне Edit для вычисления 6
интеграла:
49
7! |\\\\\\\\\
72 / 5 6 x 53
72а / 5 7\\\\\\\\\\ 6 dx
71 ? 6 5 6x 54 6 + 31
57.3
6(а Запись в окне Edit )
6y(x)=sqrt(x^3/(x^4+31))
6z=integ(y(x),x,7.3,9)
После этого для получения решения 6 0 надо 6 0подняться 6 0 в верхнюю
строку меню и активизировать пункт Solve.
Следующий 6 0примера иллюстрируета задание 6 0 функции 6 0пользователя,
содержащей 6 0вычисление 6 0опрделенного 6 0интеграла. 6 В данном случае вы-
числяется 6 0путь, пройденной объектом 6а 0с 6 0постоянным скорением. При
такой 6 0записи 6 0задачи 6 0используя пункт меню Graphа 6 0можно 6 0построить
график пройденного пути.
v(t)=7*t+5
s1=integ(v(t),t,0,4)
s(tp)=integ(7*t+5,t,0,tp)
Если c помощью функций вычисления 6 0 интегралов 6 0и 6а 0производных
задаются 6 0функции 6а 0пользователя, то 6 0 нужно 6 0необходимые 6 0 функциональ-
ные 6а 0зависимости задавать после открывающей 6 0скобки 6 0списка 6 0 аргу-
ментво. 6 0 В 6 0противном 6 0 случае могут 6 0а возникать 6 0а большеа погрешности
из-за неучета особого статуса переменных.
С 6 0 помощью 6 0 системы 6 0Eure 6k 0a 6 0можно 6 0вычислять и кратные интегралы.
При 6 0 этома можета потребоваться 6 0 использование 6 0команды 6 0Interate 6 0для
уточнения 6 0вычислений, заканчивающих 6а 0из-за 6ис 0черпания лимита 6 0времени.
Для вычисления кратных интегралов:
46 8 6 42 4 6
7! ! 6 7! ! !
72 2 6а e 5xy 6 dxdy и 7 6 72 2 2 6 xyz dxdydz
71 1 6 71 1 1
55 7.3 6 51 3 5
в окне редактирования должна быть записана следующая информа-
ция:
6I=integ(integ(exp(x*y),x,7.3,8),y,5,6)
6P=integ(x*integ(y*integ(z,z,1,2),y,3,4),x,5,6)
II) Приближение функций методом наименьших квадратов.
7\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
а) Пусть 7 0функция 7 0y=f(x) задана 7 0таблицей 7 0приближенных значений
y 4i 7~ 0f(x 4i 0), 7 0i=0,1,...,n 4а 0полученных с ошибкойа 7e 4i 0=y 4i 5* 0-y 4i 0, где 6 y 4i 5* 6=f(x 4i 6)
Используем для аппроксимации функции f линейную модель:
6y 7 6= 7 F 4m 6(x) 7 = 6 a 40 7f 40 6(x) + a 41 7f 41 6(x) +...+ a 4m 7f 4m 6(x)
Здесь 6 7f 40 6(x), 7f 41 6(x),..., 7f 4m 6(x) 0- 6систем фундаментальныха функций,
6a 40 6,a 41 6,...,a 4m 6 - 0 6искомые 0параметры 6 0модели, 6 0являющиеся коэффициентами
обощенного многочлена 7а F 4m 6(x).
Теперь мы можем записать систему приближенных неравенств:
6a 40 7f 40 6(x 40 6) + a 41 7f 41 6(x 40 6) +...+ a 4m 7f 4m 6(x 40 6) 7~ 6 y 40
6a 40 7f 40 6(x 41 6) + a 41 7f 41 6(x 41 6) +...+ a 4m 7f 4m 6(x 41 6) 7~ 6 y 41
6.......................................
6a 40 7f 40 6(x 4n 6) + a 41 7f 41 6(x 4n 6) +...+ a 4m 7f 4m 6(x 4n 6) 7~ 6 y 4n
6и 0ли в матричном виде : Pa=y.
В 6 0качестве 6 0критерия 6а 0для 6а 0выбора 6 0параметров 6 0a 40 0,a 41 0,...,a 4mа 0в
методе наименьших квадратов используется min S(a,y), где
6n 0 6┌ m ┐ 52
6────┐ │ ────┐ │
6S(a,y) =а \ \ a 4j 7f 4j 6(x 4i 6) - y 4i 6а, гдеа a=(a 40 6,a 41 6,...,a 4m 6)
6/ / │
6────┘ │ ────┘ │
6i=0 0а 6└а j=0 ┘
Простейший 6 0 способ 6 0решения 6 0этой задачи 6 0состоит в использовании
необходимого условия экстремума 6функции S 0:
6dS
6──── = 0а , k=0,1,...,n
6da 4k
Вычисляя частные производные и меняя порядок суммирования при-
6ходим к системе линейных алгебраических равнений :
6m 0 6┌ n 4 6┐ n
6─────┐ ─────┐ 4 6а │ ─────┐
6\ а \ 7 f 4j 6(x 4i 6) 7f 4k 6(x 4i 6)│ a 4j 6 = \ 4 6 y 4i 7f 4k 6(x 4i 6), (k=0,1,...,n)
6/ а / 4 а 6а │ 4 6/
6─────┘ ─────┘ 4 6│ 4 6─────┘
6j=0 0 6└ i=0 4 6┘ i=0
которая 4 0называется нормальной системой метод наименьших 4 0квадратов.
В матричном виде эту систему можно записать так:
6P 5T 6Pa = Py 5а Обозначим: 5 6 P 5T 6P = Г и P 5T 6y = b, тогда
Гa = b (5)
Искомые параметры 6a 40 6,a 41 6,...,a 4m 0а являются решении системы (5).
Если 6 0 при аппроксимации 6 0а функцииа y=f(x)а используется 6 0 модель
g(x,a), 6 0где g(x,a) 6 0нелинейно зависит 6 0от 6 0параметрова 6 0a 40 0,a 41 0,...,a 4m 0,
то применение критерия наименьших квадратов приводит к задаче оп-
ределния искомых параметров из словия минимума функции
6n
6─────┐ ┌ 4 6┐ 52
6S(a,y) =а \ │ g(x 4i 6,a) - y 4i 6│
6/ │ 4 6│
6─────┘ └ 4 6┘
6i=0
Такая 4 0 задача 4 0весьма трудна для решения и требует 4а 0специальных
методов 4 0минизации для 4 0нахождения 4 0параметров, однако 4 0в некоторых
случаях 4 0нелинейную задачу 4 0можно 4 0свести к 4 0линейной. Пусть, напри-
мер, зависимость y от x ищется в виде y=ae 5bx 0, где a>0. 4 Логарифмируя
это 6 0равенство, 6 0 приходим 6 0к 6 0линейной 6 0зависимости 6а 0ln 6( 0y 6) 0=ln 6(a)+bx
велечины 6 Y 0=ln 6( 0y 6) 0 от 6 0 x.
б) Рассмотрим несколько примеров решения указанной выше 6 0задачи в
системе Eure 6k 0a.
_Пример1
Пусть имеется ряд точек 6 0(x 41 0,y 41 0),(x 42 0,y 42 0),...(x 4n 0,y 4n 0) и надо 6 0подо 6-
брать коэффициенты a и b линейной зависимости:
6y(x)=a+bxа т.е. 7а f 40 6(x)=1, 7 f 41 6(x)=x (6)
такими, чтобы 6 0 прямая 6 0y(x) 6 0 прошла в "облаке" 6 0точек 6 0с 6 0наименьшим
6общима 0среднеквадратичным 6 0отключением от них. Зависимость (6) приб-
лиженная 6 0поэтому 6 0вместо знака 6 0точного равенства 6 0надо использовать
знак :=. 6 0 Чтобы 6 0отдать системе 6 0команду 6 на 0 решения методом наимень-
ших 6 0квадратов 6 0необходимо 6 0указать 6 0директиву $ substlevel=0. Пусть
координаты 6 0заданныха точека таковы 6 0: 6а 0(7,4 6. 05),(9,7),(11,8),(15,9 6. 07),
тогда в окне Edit должна быть сделан следующая запись
f(x):=a+b 6*x
f(7)=4.5:f(9)=7:f(11)=8:f(15)=9.7
$ substlevel=0
После 6 0этого для 6 0получения решения 6 0 6н 0адо подняться 6 0в верхнюю 6 0стороку
меню и активизировать пункт Solve.
_Пример 2
Заданная линейная зависимость иммет более сложный вид:
y(x)=ax 53 0+be 5x 0+c 6(1/x) 7 6 0 т.е. 7f 40 0(x)=x 53 0, 7f 41 0(x)=e 5x 0, 7f 42 0(x)=1/x
При этом записать в окне Edit будет иметь следующий вид:
f(x):=a*f1(x)+b*f2(x)+c*f3(x)
f1(x)=x^3 4 0: 4 0f2(x)=exp(x) 4 0: 4 0f3(x)=1/x
f(3)=7 4 0: 4 0f(4)=5.7 4 0: 4 0f(5)=4.7 4 0: 4 0f(6.3)=6.4
f(8.1)=7.54 4 0: 4 0f(9)=8.74
$ substlevel=0
_Пример 3
Заданная 6 0нелинейная 6 0зависимость 6 0имеет 6 0вид: 6 0y(x)=e 5t 6, 5 6где t=ax 5n 6+b
Ecли в окне Edit сделана запись:
f(x):=exp(a*x^n+b)
f(1)=1.49:f(2)=2.35:f(3)=4.26
f(4)=8.59:f(5)=19.01
$ substlevel=0
, то в качестве ответа будут получены значения:
a=0.25247859 6, 0b=0.14432727 6, 0 6n 0=1.4951058
6C 0истема 7 0 Eure 6k 0caа находита неизвестныеа параметры и для 7 0 более
сложных зависимостей например y(x)=ae 5-bx 0+ab.
Eще один выжный вид аппроксимационной зависимости 6 0- 6 0полиномальная
зависимость y(x)=a 4m 0x 5m 0+...a 41 0x+a 40 0. Количество пар 6задан 0ных точек должно
превышать 6 0 m+1. Если 6 0оно 6 0равно 6 0этой 6 0велечине, то 6 0реализуется 6 0 не
регрессия, а обчная полиномиальная аппроксимация.
6)а Решение дифференциальных равнений.
7\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
а) Система Eure 6k 0a 6 0не приспособлена для 6 0решения диф. равнений.
Однако, в некоторых случаях система может решать задачу Кош 6и 0 6 0методом
Э 6й 0лера. При 6 0этом 6 0прийдется 6 0 ограничит 6ь 0ся несколькими (7-8) точками,
поскольку в 6 0 противном 6 0случае 6а в 0озможности 6 0 системы 6 0 преобразовывать
переменные и подставлять их друг в друга будута исчерпаны. 6 Отсутствие
в языке системы операторов 6 организации циклов сложняет задачу. Кроме
6того переменные в системе Eureka переопределить нельзя, что иллюстри-
6руется примером. Пусть в окне Edit записана приведенная ниже информа-
6ция.
6y=7
6p(y)=sin(y)*exp(y)
6p1=p(4)
6y1=y
6y=847
6y2=y
При этом в окне Solution после решения появляются следующие зна-
6чения переменных : y=7, y1=7 и y2=7. Значение p1=p(4)а будета вычис-
6лено верно.
6б) Приближенное решение задачи Коши методома Эйлер заключается
6в приближенном решении диф. равнения y 4x 5' 6=f(x,y(x)), довлетворяющем
6начальному условию y(x 40 6)=y 40 6. Сеточное решение задачи состоит в пост-
6роении 4а 6таблицы 4а 6приближенных 4 6значений 4а 6y 41 6,y 42 6,...,y 4n 6 4 6в 4а 6 точках
6x 41 6,x 42 6,...,x 4n 6. 4а Чаще всего x 4i 6=x 40 6+ih 4 6, i=1,2,...,n. Точки x 4i 6 называются
6узлами сетки, a h - шагом сетки (h>0).
В методе Эйлера y 4i+1 6 вычисляется по формуле:
6y 4i+1 6= 4 6y 4i 6+ 4 6hf(x 4i 6,y 4i 6) , i=0,1,.....
Этота метод относится к группе одношаговых методов, в которых для
6расчета точки (x 4i+1 6,y 4i+1 6) требуется информация только о последней вы-
6численной точке (x 4i 6,y 4i 6).
Метод имеет простую геометрическую интерпритацию. Предположим, что
6известна точка (x 4i 6,y 4i 6) на искомой интегральнойа кривой. Тогд каса-
6тельная к этой кривой, проходящая через точку (x 4i 6,y 4i 6)а определяется
6уравнением:
6z(x)=y 4i 6+ y 4x 5' 6(x 4i 6)(x-x 4i 6), т.к. 5 6y 4x 5' 6(x 4i 6)=f(x 4i 6,y 4i 6) 4 6и 4 6 x 4i+1 6-x 4i 6=h,
6то z(x 4i+1 6) = y 4i 6+ hf(x 4i 6,y 4i 6)=y 4i+1
6в) Запишем в качестве примера следующее диф. равнение: y 5' 6-y = e 5x
6са начальнымиа условиями x 40 6=3, y(x 40 6)=y 40 6=4e 53 6, гдеа e 7 ~ 6 2.71828....
Точным решением этого диф. равнения является функция 5 6y = (x + 1)e 5x 6.
Выберем шаг сетки h = 0.05. Ва этом случае для решения диф. равне-
6ния методом Эйлера в окне Edit должна быть сделана следующая запись:
6f(x,y)=exp(x)+y
6h=0.05 : x0=3 : y0=4*exp(3)
6y1=y0+h*f(x0,y0) : x1=x0+h
6y2=y1+h*f(x1,y1) : x2=x1+h
6y3=y2+h*f(x2,y2) : x3=x2+h
6y4=y3+h*f(x3,y3) : x4=x3+h
6y5=y4+h*f(x4,y4) : x5=x4+h
6y6=y5+h*f(x5,y5) : x6=x5+h
6y7=y6+h*f(x6,y6) : x7=x6+h
Задание
6───────────
6а) Найдите точноеа решение предложенного вама диф. уравнения.
6б) Найдите при помощи системы Eureka сетечное решение
6диф. уравнения методом Эйлера.
6в) Получите приближенное решение диф. равнения в аналитичес-
6кой форме используя для этого предложенную вам аппроксимационную за-
6висимость.
6г) Определите площадь, заключенную между графиком точного и
6графиком 0а 6приближенного решения на отрезке сеточного решения.
6д) Определите площадь, заключенную между графиком точного ре-
6шения иа осью 0xа на отрезкеа сеточного решения.
6e) Определите ва процентаха отношение площади, вычисленной в
6пункте (г), к площади, вычисленной ва пунктеа (д).