А
Б В
Г Д
Е Ж
З И
К Л
М Н
О П
Р С
Т У
Ф Х
Ц Ч
Ш Э
Ю Я
Реферат: Работа с программой EUREKA
Работа с программой 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 - проверка решения (рез 193ћ ультат работы этой команды выводит- ся в одноименное окно); 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 -задание 193ћ установок системы (к примеру: 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 193ћ ДДДДя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 і 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я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 і 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 и пункта меню 193ћ 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 при х $ 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 Существуют методы, которые могут оказаться более эффективными, если минимизируемая функция достаточно гладкая. Часть из них яв 193ћ ляется просто модификациями методов решения нелинейных уравнений применитель- но к уравнению 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 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 те решения получаем p0я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. Сущесвует большое количество различных методов нахождения безус- ловного минимума функции многих перем 193ћ енных. Рассмотрим в качестве при- мера один из них. Этод метод называется методом наискорейшего спуска и является одним из представителей большого семейства итерационных мето- дов. Пусть хя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я5 193ћ 2я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я 193ћ 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ДДДД 193ћ ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Заметим,я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 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 193ћ =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) то 193ћ чками, поскольку вя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пункте (г), к площади, вычисленной в пункте (д). сыхфующшщ тшф: 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) тю 193ћ
|