курсовые,контрольные,дипломы,рефераты
Лабораторная работа 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 │ <= 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 0В нашем 6 0случае
6det A 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? 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 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 корню 6 x 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 рерывна в
U 4r 0(x 5* 0) и
0 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 0В 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└ ┘ 6Сф 0ормулируем
теорему о сходимости метода простых интераций. 6Теорема 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 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Задание 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 0Якобиана (i=1,2, ..., 6n 0). 6 0На
основании 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
0Вектор -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 │ 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 0Напомним еще раз,
что в малой 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 0Т.е. 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^ Таким образом, матрица Гессе А(х) не зависит
от х и равна А. 6Т 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 0Для проверки
6 0способ 6- ности системы
Eureka решать оптимизационные задачи разработан ряд тес 6- товых задач, содержащих подвохи. Одна из таких задач -
поиск минимума функции
Розенброка. 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
0Исходя из заданных ограничений 6 0строится
многоугольник до- пустимых
решений. Далее, для
каждой точки плоскости
функция Z(x) принимает 6
0фиксированное 6 0значение Z 4т 0. 6
0Множество 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-го │
III-го │ 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.99985 6x+y+v 7~ 6
499.9996 6Поcле
подстановки получаем: 60.3*x+0.2*y+0.2*v
7~ 6 99.000023 60.2*x+0.1*y+0.5*v
7~ 6 150.00000 60.4*x+0.3*y+0.2*v
7~ 6 120.00000 60.4*x+0.6*y+0.3*v
7~ 6 179.99961 _Вывод формулы (*) 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
0Действительно, 6 0(Au 6, 0x) 6
0= 6 0( 6u 0, 6Ax 0) 6т.к.
0А - симметричная матрица 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─────────── а) Составьте матрицу А для предложенной
вам квадратичной функции. Проверьте при
помощи критерия Сильвестра положительную
определенность матрицы А.
Найдите
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Цель работы
6────────────── Приобретение навыков вычисления определнных
интегралов, реше- ния диф.
уравнений и приближения функций методом наименьших квад- ратов при помощи
системы Eure 6k 0a. 6Теоретическое
введение
6───────────────────────── I) 6 Вычисление определенных интегралов
7\\\\\\\\\\\\\\\\\\\\ Разобъем отрезок интегрирования [a,b]
на отрезки [x 4i-1 0,x 4i 0] точками
a=x 40 0 интегралов: 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 6Обозначим:
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 0После 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] д) С
помощью системы 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 0В данном случае вы- числяется 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) Если с
помощью функций вычисления 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Вычисляя частные производные и меняя порядок суммирования при- 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
6Обозначим: 5 6 P 5T 6P = Г и P 5T 6y = b , тогда 6Г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 0Логарифмируя это 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 не регрессия, а
обчная полиномиальная аппроксимация. 6III) Решение дифференциальных уравнений.
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 0Отсутствие в языке системы
операторов 6 организации циклов усложняет задачу. Кроме 6того
переменные в системе Eureka переопределить нельзя, что иллюстри- 6руется
примером. Пусть в окне Edit записана приведенная ниже информа- 6ция. 6y=7 6p(y)=sin(y)*exp(y) 6p1=p(4) 6y1=y 6y=847 6y2=y 6При этом в окне 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 6Чаще всего
x 4i 6=x 40 6+ih 4 6, i=1,2,...,n. Точки
x 4i 6 называются 6узлами
сетки, a h - шагом сетки (h>0). 6В методе Эйлера y 4i+1 6
вычисляется по формуле: 6y 4i+1
6= 4 6y 4i 6+ 4
6hf(x 4i 6,y 4i 6)
, i=0,1,..... 6Этот
метод относится к группе одношаговых методов, в которых для 6расчета
точки (x 4i+1 6,y 4i+1 6) требуется информация только о
последней вы- 6численной
точке (x 4i 6,y 4i 6). 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.... 6Точным
решением этого диф. уравнения является функция 5 6y = (x +
1)e 5x 6. 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а) Найдите точное
решение предложенного вам диф.
уравнения. 6б) Найдите при
помощи системы Eureka
сетечное решение 6диф.
уравнения методом Эйлера. 6в) Получите приближенное
решение диф. уравнения в аналитичес- 6кой форме
используя для этого предложенную вам
аппроксимационную за- 6висимость. 6г) Определите площадь,
заключенную между графиком
точного и 6графиком 0 6приближенного решения на отрезке
сеточного решения. 6д) Определите площадь,
заключенную между графиком точного ре- 6шения и
осью 0x на отрезке
сеточного решения. 6e) Определите в
процентах отношение площади, вычисленной в 6пункте
(г), к площади, вычисленной в пункте
(д).
Работа с графами
Разработка диалоговой системы, оформленной в виде пакета прикладных программ и реализующей идею искусственного интеллекта
Тектовый редактор VI. ОС UNIX ...
Изучение программ MS Office
Norton Commander– инструментарий работы в среде MS DOS
Создание текстовых документов с помощью MS Word
Работа с командами операционной системы MS - DOS
Проверка таблиц истинности базовых вентилей
Copyright (c) 2025 Stud-Baza.ru Рефераты, контрольные, курсовые, дипломные работы.