База знаний студента. Реферат, курсовая, контрольная, диплом на заказ

курсовые,контрольные,дипломы,рефераты

Работа с программой EUREKA — Программное обеспечение

                        Лабораторная работа  N1

                       6───────────────────────────

            Знакомство с оболочкой системы Eureka.  Решение

            систем  линейных уравнений.

                             Цель работы

                           6────────────────

     Приобретение навыков работы с оболочкой системы  Eureka.  Решение

систем линейных уравнений при помощи системы Eureka.

                        Теоретическое введение.

    а) Интегрированная многооконная система Eureka  предназначена  для

автоматизации наиболее массовых математических расчетов не очень высо-

кой сложности.  Она  объединяет:  редактор,  вычислитель,  верификатор

(проверяет правильность вычислений),  генератор отчетов и простой гра-

фопостроитель. Система ориентирована на ПК класса IBM PC XT и AT и мо-

жет размещать  на  одном гибком диске с объемом хранимой информации до

360 Кбайт.  Нормальная работа системы обеспечивается при ОЗУ 512 Кбайт

и выше. Система может работать на ПК без математического сопроцессора,

однако его использование значительно повышает скорость работы.

     Eureka имеет следующие ограничения:

    - максимальная длина идентификаторов до 40 символов, из них 10 яв-

ляются основными;

    - число определенных пользователем функций не более 10;

    - число используемых числовых констант не более 200;

    - число переменных не более 12;

    - число подстановок одних переменных в другие до 6.

    б) Для загрузки системы ее надо проинсталлировать, т.е. перенести

все файлы, входящие в нее, на рабочий диск в одну директорию. Запуска-

ющим файлам системы является файл eureka.exe.

     После запуска на экране монитора появляется табло оболочки систе-

мы. Экран оказывается разделенным на четыре окна.

     Edit - для ввода и редактирования текста задачи;

     Solution - для вывода результатов;

     Report - для вывода отчета о вычислениях на экран,  принтер или в

файл с расширением log;

     Verify - для проверки точности результата.

     Окно в пассивном состоянии обведено одинарной рамкой,  а в актив-

ном - двойной. Курсор располагается в активном окне. Кроме окон, табло

оболочки содержит верхнюю и нижнюю строки  меню.  Нижняя  строка  меню

представляет возможности  работы с ключевыми клавишами (hot keys).  Ee

содержимое может менятся в зависимости от режима работы системы.  Наи-

больший интерес  эта  строка  представляет в режиме редактирования.  В

этом случае она предлагает следующие команды:

     F1 -  Help  - помощь по контексту (можно получать в любой позиции

меню и подменю);

     F2 - Save - запись текущего файла на диск;

     F3 - Load - загрузка файла с диска;

     F5 - Zoom - расширение активного окна на весь экран и возвращение

его (при повторном нажатии) к исходным размерам.

     F6 - Next - переключение активности окон (по циклу);

     F7 - Beg.Bek - отметка начала блока;

     F8 - EndBek - отметка конца блока

     SCROOL - Size/move - изменение размера и положения окна.

     Нажатие клавиши  Ctrl и Alt приводят к высвечиванию иных ключевых

клавиш. Имеет смысл взять на вооружение еще hotkeys такие как:

     Esc - отмена команды (переход в вышестоящее меню);

     Alt+E - переход в окно редактирования;

     Alt+S - начать рещение задачи;

     Alt+C - включить встроенный калькулятор;

     Alt+X - выход из системы.

     В верхней строке оболочки перечисляются  позиции  основного  меню

системы:

     File - работа с файлами;

     Edit - редактирование текущего файла;

     Solve - запуск вычислителя;

     Commands - выбор команды управления;

     Report - подготовка отчета;

     Graph - вывод графиков и таблиц;

     Options - задание опций системы;

     Window - работа с окнами.

     Если активировать в верхней строке позицию File, то после нажатия

клавиши Enter откроется подменю со следующим пунктами:

     Load - загрузка файла;

     New - подготовка к заданию нового файла;

     Save - запись текущего файла;

     Directory - просмотр директории;

     Change dir - смена текущей директории;

     New directory - создание новой директории;

     Rename - переименование текущего файла;

     OS shell - временный выход в MS DOS (возврат по команде Exit);

     Quit - выход из системы по окончании работы.

     Если активизировать вторую позицию верхней строки и нажать клави-

шу Enter, то мы окажемся в окне редактирования задач.

     Третьей позицией верхней строки является команда Solve. После то-

го как редактирование задачи окончено нужно нажать Esc (для  попадания

в верхнюю строку меню) и активизировав пункт меню Solve, запустить за-

дачу на счет нажатием клавиши Enter.  Если в описании задачи ошибок  с

точки зрения  системы нет,  то начнется процесс решения.  По окончании

этого процесса результат работы будет представлен в окне Solution.

     Четвертая позиция верхней строки - Commands. При активизации этой

позиции и нажатии клавиши Enter открывается следующее подменю:

     Verify - проверка решения (результат работы этой команды выводит-

ся в одноименное окно);

     Calculate - включение калькулятора (для выключения - Esc);

     Find other - поиск другого решения (Т.к. итерационные методы при-

водят только  к одному из возможных решений,  то для нахождения других

надо исключить найденное и заново решить задачу.  Именно это и  делает

данная команда);

     Iterate - пуск итераций после остановки решения (Команда  исполь-

зуется для уточнения найденного решения при условии, что заданная точ-

ность не достигнута, а время отведенное на процесс решения закончено).

     Пятая позиция верхней строки (Report) открывает следующее подменю:

     Go - составление отчета (результат этой команды появляется в окне

Report);

     Output - направление вывода отчета (экран, принтер);

     Formatted - форматирование отчета;

     Capture - запись отчета в файл eureka.log (По запросу  EUREKA.LOG

EXIST.A TO ERASE этот файл можно дополнить или стереть. При включенной

команде в строке переключений будет стоять ON, иначе OFF);

     Logfile name - изменение имени log-файла.

     Подменю шестой  позиции верхней строки (Gragh) состоит из четырех

пунктов.

     Plot -  построение  графика  (После ввода значений левой и правой

границ аргумента,  если,  конечно,  функция предварительно описана при

помощи команды  Function,  будет  построен график функции состоящий из

текстовых символов псевдографики. При нажатии F5 этот график перестра-

ивается в графическом режиме с высоким разрешением);

     Output - вывод графика на экран или принтер;

     List - вывод таблицы (После вывода начального значения, шага  вы-

числений и количества точек в которых вычисляются значения функций вы-

водится таблица  со  значениями  аргумента и функции,  если,  конечно,

функция предварительно описана при помощи команды Function или в  окне

Edit);

     Function - задание функции, которую надо построить.

     6Опишем последовательность действий необходимых для построения гра-

 6фика функции более подробно.

     6Способ N 1

   7\\\\\\

     6Активизируйте (т.е. подведите курсор и нажмите Enter)  пункт верх-

 6него меню под названием - Graph.  В открывшемся подменю  активизируйте

 6пункт - Function.  В появившуюся  после этого  строку введите название

 6вашей фунуции (например y(x) или ab) и нажмите Enter. Во вновь появив-

 6шуюся строку введите  определение вашей функции  (например sin(x)+x^2)

 6и нажмите Enter. После этого активизируйте  пункт  подменю с названием

 6- Plot. В  появившуюся строку введите начало интервала построения гра-

 6фика и нажмите Enter. Во вновь появившееся окно введите конец интерва-

 6ла и 0  6нажмите Enter. 0  6 В результате всех перечисленных действий на дисп-

 6лее появится окно содержащее график выполненный  символами  псевдогра-

 6фики.  Если теперь нажать 0  6F5, то  график  перерисуется  на  весь экран

 6при помощи истинной графики. 0  6Повторное  нажатие  F5  приводит  к  воз-

 6вращению  экрана  в  состояние 0  6 существовавшее до первого нажатия этой

 6клавиши. 0  6График может быть перерисован на весь экран в сиволах псевдо-

 6графики, 0  6если  преред F5 была нажата клавиша F4. 0  6 При  этом, для  того

 6чтобы  вернуться  в режим  позволяющий  использовать 0   6истинную графику

 6необходимо нажать F7.

     6Способ N 2

   7\\\\\\

     6Войдите в окно Edit. Запишите в нем определение одной или несколь-

 6ких функций (например:

                    6z(x)=sin(x)+x^2

                    6p(x)=deriv(deriv(5*cos(x),x),x) 0

                    6m(x)=1/x      )

 6и  любую вычислительную задачу (например t=z(1)).

 6Поднимитесь в верхнюю строку меню  и активизируйте в ней пункт  Solve.

 6После того, как вычислительная задача будет решена активизируйте пункт

 6меню Graph.  В открывшемся подменю активизируйте пункт Plot.  При этом

 6появится меню, позволяющее  выбрать  функцию  (из числа определенных в

 6окне Edit) для построения графика.  Выбор  функции  осуществляется при

 6помощи курсора. Его надо подвести  к названию функции  и нажать Enter.

 6Далее  выполняются те же действия, что и в I 5ом 6 способе после активиза-

 6ции пункта Plot.

     6Если возникает потребность в построении графика другой функции (из

 6числа определенных в окне  Edit), то необходимо: войти  в  окно  Edit,

 6выйти  из этого  окна  (при этом редактировать записи не обязательно),

 6активизировать пункт Solve и далее повторить описанные выше действия.

      6Примечание

    7\\\\\\

     6Для вывода на экран функции в табличном виде пригодны оба описан-

 6ных выше способа. Отличием является только то, что вместо пункта Plot

 6активизируется пункт List.  При этом Eureka потребует ввести:  начало

 6интервала вычислений,  шаг вычисления и число точек, в которых вычис-

 6ляются значения функции.

   Седьмая позиция верхней строки (Options) имеет следующее подменю:

     Variables -  изменение значений переменных без вхождения в редак-

тор;

     Settings -задание установок системы (к примеру:  accuracy - зада-

ние погрешности вычислений;  complex [ 5yes 4no 0] - разрешает вычисления  с

комплексными числами; casefold [ 5yes 4no 0] с параметром yes отменяет имею-

щееся по умолчанию различия между прописными и строчными буквами;  di-

gits -  определяет число цифр у результатов вычислений; substlevel N -

задает количество преобразований переменных, в ходе которых одни пере-

менные автоматически выражаются через другие. При N=0 такие преобразо-

вания не выполняются.  Допустимые значения N от 0 до  6.  В  некоторых

случаях варьирование  этого  параметра позволяет получить более точный

результат). Кроме перечисленных  этот пункт подменю содержит  еще  ряд

установок, о назначении которых можно узнать,  воспользовавшись клави-

шей F1 (т.е. help).

     Сolors - установка окраски окон; рамок и текстов;

     Directories - установка директории (Система и отдельные файлы мо-

гут храниться в разных директориях. В этом случае нужно указать систе-

ме, где находятся ее файлы и файлы с примерами расчетов.);

     LoadSETUP - загрузка установочного файла;

     WriteSETUP - запись установочного файла.

     Восьмая позиция верхней строки (Window) также имеет подменю:

     Open - открывает указанное окно;

     Close - закрывает указанное окно;

     Next - делает активным следующее окно;

     Zoom - расширяет активное окно;

     Tile - делает размеры окон равными;

     Stack - располагает окна друг за другом;

     Goto - переход в активное окно из меню.

  в) Системы  линейных алгебраических уравнений можно решать как с по-

мощью прямых , так и с помощью итерационных методов. Т.к. о прямых ме-

тодах решения таких , как метод Крамера или метод Гаусса , рассказыва-

лось в курсе математики, то рассмотрим здесь только некоторые итераци-

онные методы.  Итерационные методы представляют  для нас интерес еще и

потому , что Eureka решает системы линейных уравнений ( как и нелиней-

ных ) итерационными методами. При этом может использоваться подстанов-

ка одних переменных в другие, нередко  сводящая задачу к точному реше-

нию.

     Итерационные методы  применяются на практике к большим системам с

разреженными матрицами.  Разработано большое число разлиных итерацион-

ных методов,  каждый  из  которых ориентирован на решение сравнительно

узкого класса задач. Рассмотрим два наиболее простых и извесных итера-

ционных метода.

      _Метод простой итерации

     Для того чтобы применить метод простой итерации к решению системы

линейных уравнений

                               Ах=b 4                    0 (1)

c квадратной  не вырожденной матрицей А,  необходимо преобразовать эту

систему к виду

                                  4^  ^

                               х=Ах+b 4                   0 (2)

       4^                                ^

Здесь А - квадратная матрица (nxn),  а b - вектор столбец длины n. Са-

мый простой способ привести систему (1) к виду (2) выразить х 41 0 из пер-

вого уравнения системы (1)

                      4-1

                  6x 41 6=a 411 6(-a 412 6x 42 6-a 413 6x 43 6-...-a 41n 6x 4n 6)

х 42 0 из второго уравнения и т.д. В результате получаем систему 6:

                            4^     ^         ^     ^

                  6x 41 6=      -a 412 6x 42 6-a 413 6x 43 6-...-a 41n 6x 4n 6+b 41

                      4^           ^         ^     ^

                  6x 42 6=-a 421 6x 41 6- 4      6-a 423 6x 43 6-...-a 42n 6x 4n 6+b 42

                  6.....................................

                      4^     ^     ^     ^     6      4^

                  6x 4n 6=-a 4n1 6x 41 6-a 4n2 6x 42 6-a 4n3 6x 43 6-a 4n4 6x 44 6-...+b 4n

                                          4^

у которой  на  главной диагонали матрицы А находятся нулевые элементы.

Остальные элементы вырожаются по формулам 6 :

                   4^                     ^

                   6a 4ij 6=a 4ij 6/a 4ii 6     и     b 4i 6=b 4i 6/a 4ii 6 .

                                             4(0)   (0)  (0)       (0)

             Выберем начальное приближение 6 x 4  6= 4   6(x 41  6, 4  6x 42  6, 4  6... 4  6,x 4n   6).

Часто в  качестве  началь 6н 0ого  приближения  выбирают столбец свободных

членов (b 41 0, b 42 0,...b 4n 0). Подставляя его в правую часть системы (2) нахо-

дим первое приближение

                             4(1) ^  5  4(0)  5  4^

                            6x 4  6= 4   6A 4  6x 4   6+ 4   6b

     6П 0родолжая этот    процесс   далее,   получим   последовательность

х 5(0) 0, 5  0х 5(1) 0, 5  0х 5(2) 0, 5  0..., 5  0х 5(k) 0, ...  6  0приближений, вычисляемых по формуле

                             4(k+1)  ^  (k)  ^

                            6x 4    6= 4    6A 4  6x 4   6+ 4   6b ,  k=0,1,2,...

     Спра 6в 0едли 6в 0а следующая теорема о сходимости метода простой итерации.

      _Теоремма

     Пусть выполнено одно из условий :

            4n 6                                     4n

          6────┐ 4                                ──── 6┐

  4M 6  4A 6  4X 6        │   4^ 6   4  6│             │     4  6│    4  6   4  6 │    4   6│

  61 7, 6i 7, 6n   7  4  6/ 4     6│ a 4ij   6│ = q < 1 <=> │ a 4ii 6 │ > 4  6 /  4    6│ a 4ii 6 │ 4 , 6i=1,...,n

          6────┘                                ────┘

           6j=1                                  4  6j=1

                                                6i 7- 6j

     или

           4n                                     n

         4──── 6┐ 4                                 ──── 6┐

  4M 6  4A 6  4X 6  4   6 4     │ ^    │             │     │     6 4     │     │

 61 7, 6j 7, 6n 7   4   6/ 4     │  6a 4ij  │  6= 4  6q 4  6< 1 4  6<=> 4 │  6a 4jj │  6> 4   6/ 4     │  6a 4ij │ 6 ,j=1,...,n

         4──── 6┘ 4                                 ──── 6┘

          6i=1                                   i=1

                                                6i 7- 6j

        Тогда:

(I)  решение Х системы (2) существует и единственно;

(II) при  произвольном  начальном  приближении х 5(0) 0 справедлива оценка

погрешности 6:

                    4(k)   -        k            (0)  -

         4M A X   │ 6 x 4i   6- 4   6x 4i 6 │ <= q 4  M A X  │ 6 x 4i   6- 4  6x 4i 6 │ .

         61 7, 6i 7, 6n 4                      7   61 7, 6i 7, 6n

     Замечание 1

     При помощи понятия нормы теорема о сходимости метода простой ите-

рации для системы линейных уравнений может быть сформулирована в более

общем виде.

     Замечание 2

     При выполнении условий теоремы о сходимости метода простой итера-

ции для системы линейных уравнений справедлива следующая апостериорная

оценка 6:

                   4(k)   -                          (k)    (k-1)

         4M A X  │  6x 4i   6- 4   6x 4i │ <= 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пункте (г), к площади, вычисленной  в  пункте  (д).

                        Лабораторная работа  N1                       6&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&

 

 

 

Внимание! Представленная Лабораторная находится в открытом доступе в сети Интернет, и уже неоднократно сдавалась, возможно, даже в твоем учебном заведении.
Советуем не рисковать. Узнай, сколько стоит абсолютно уникальная Лабораторная по твоей теме:

Новости образования и науки

Заказать уникальную работу

Свои сданные студенческие работы

присылайте нам на e-mail

Client@Stud-Baza.ru