Вход

Работа с программой EUREKA

Реферат* по программированию
Дата добавления: 21 декабря 1998
Язык реферата: Русский
Word, rtf, 526 кб
Реферат можно скачать бесплатно
Скачать
Данная работа не подходит - план Б:
Создаете заказ
Выбираете исполнителя
Готовый результат
Исполнители предлагают свои условия
Автор работает
Заказать
Не подходит данная работа?
Вы можете заказать написание любой учебной работы на любую тему.
Заказать новую работу
* Данная работа не является научным трудом, не является выпускной квалификационной работой и представляет собой результат обработки, структурирования и форматирования собранной информации, предназначенной для использования в качестве источника материала при самостоятельной подготовки учебных работ.
Очень похожие работы
Найти ещё больше




Лабораторная работа 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 ¦

 6L - L -


 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`

 6L - L -

 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¦

 6L - L -


 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 ¦

 6L 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 ¦

 6L -


 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>

 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) = ¦--------,...., ---------¦ , указывает направление

 6L  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 ¦

 6L -

 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¦

 6L i=1 j=1  4  6-x 4k L 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¦

 6L 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 L  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 L  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 L  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 ¦

 6L -


Здесь  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

тонн. Данные о расходах материалов на производство одной тонны каждой

разновидности продукта сведены в таблицу.


------------------T-------------T-----------T-----------T------------¬

¦ 6--¬Расход матери- 0¦ ¦ ¦ ¦ ¦

 6¦ L--¬ала на 0  6одну 0¦ ¦ ¦ ¦ ¦

 6¦Раз- 0  6L--¬тонну 0  6¦ 0 I-го ¦ II-го ¦ III-го ¦ IV-го ¦

¦ 6новидно-L---¬ 0  6¦ 0 ¦ ¦ ¦ ¦

¦ 6сти продуктаL---- 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 тонны ¦

L-----------------+-------------+-----------+-----------+-------------


Требуется найти оптимальное (в смысле максимизации прибыли) коли-

чество каждого вида изготавливаемого продукта при условии, что стои-

мости  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 L -


 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 L 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 L 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 L -


 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 ------ ¦

 6L 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 ------ ¦

 6L  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  6L 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  6L 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------ L  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пункте (г), к площади, вычисленной в пункте (д).




РАБОТА В СИСТЕМЕ EUREKA.


Введение


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

решения не очень сложных и часто встречающихся математических

задач.

С помощью системы Eureka можно решать следующие задачи:

1) Решение нелинейного уравнения;

2) Вычисление корней полинома;

3) Вычисление определенного интеграла;

4) Вычисление производных функции;

5) Поиск экстремумов функций одной или

многих переменных;

6) Решение системы линейных уравнений;

7) Решение системы нелинейных уравнений;

8) Аппроксимация функций;

9) Интерполяция функций;

10) Линейное и нелинейное программирование;

Система объединяет: редактор, вычислитель, верификатор (проверяет

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

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

размещаться на одном гибком диске объемом до 360 Кбайт. Система

может работать на ПК без математического сопроцессора, однако

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


Загрузка системы


Необходимо выполнить файл eureka.exe.

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

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

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

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

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

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

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

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

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


.


- 2 -


Меню системы


Кроме окон, табло оболочки содержит верхнюю и нижнюю строки

меню.

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

меню системы:

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

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

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

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

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

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

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

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

Переход в верхнюю строку меню выполняется клавишей ESC.

Нижняя строка меню показывает возможности работы с ключевыми

клавишами (hot keys). Ee содержимое может меняться в зависимости

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

ляет в режиме редактирования.В этом случае она предлагает следую-

щие команды:

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

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

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

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

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

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

размерам;

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

F7 - BegBek - отметка начала блока;

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

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

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

чевых клавиш.

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

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

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

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

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


.


- 3 -


Операции с файлами


Если активировать в верхней строке позицию 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 - поиск другого решения (Т.к. итерационные методы


.


- 4 -


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

то для нахождения других надо исключить найден-

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

данная команда. При этом радиус поиска иного

решения задается установкой: radius = действи-

тельное число. По умолчанию радиус равен нулю.);

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

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

условии, что заданная точность не достигнута, а

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


Формирование отчета


Отчет содержит: титул, листинг программы, результат решения и

его верификации и график заданной функции.

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

подменю:

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

окне Report);

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

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

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

EUREKA.LOG EXIST.A TO ADD,E TO ERASE

этот файл можно дополнить или стереть. При

включенной команде в строке переключений

будет стоять ON, иначе OFF);

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


Построение графика


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

четырех пунктов:

Plot - построение графика ;

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

List - вывод таблицы ;

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


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

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

Способ N 1


.


- 5 -


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

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

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

дите название вашей функции (например y(x) или ab) и нажмите En-

ter. Во вновь появившуюся строку введите определение вашей функ-

ции (например sin(x)+x^2) и нажмите Enter. После этого активизи-

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

дите начало интервала построения графика и нажмите Enter. Во

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

результате всех перечисленных действий на дисплее появится окно,

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

перь нажать F5, то график перерисуется на весь экран при помощи

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

рана в состояние,существовавшее до первого нажатия этой клавиши.

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

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

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

ку, необходимо нажать F7.


Способ N 2

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

скольких функций (например:

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

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

m(x)=1/x )

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

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

Solve. После того, как вычислительная задача будет решена активи-

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

пункт Plot. При этом появится меню, позволяющее выбрать функцию

(из числа определенных в окне Edit) для построения графика. Выбор

функции осуществляется при помощи курсора. Его надо подвести к

названию функции и нажать Enter. Далее выполняются те же дейс-

твия, что и в 1-ом способе после активизации пункта Plot.

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

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

окно Edit, выйти из этого окна (при этом редактировать записи не

обязательно), активизировать пункт Solve и далее повторить опи-

санные выше действия.


.


- 6 -


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

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

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

потребует ввести: начало интервала вычислений, шаг вычисления и

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


Параметры системы


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

меню:

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

редактор;

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

accuracy - задание погрешности вычислений;

complex [yes/no] - с параметром yes разрешает

вычисления с комплексными числами;

casefold [yes/no] - с параметром yes отменяет

имеющееся по умолчанию различия между пропис-

ными и строчными буквами;

digits - определяет число цифр у результатов вычи-

слений;

substlevel=n - задает количество преобразований

переменных,в ходе которых одни переменные автома-

тически выражаются через другие. При n = 0 такие

преобразования не выполняются. Допустимые значения

n: 0,1,2,....,6. По умолчанию эта установка равна

шести. Если задача не решается или решается пло-

хо, то варьирование n в указанных пределах в ряде

случаев улучшает ситуацию. Так, в задаче N14 для

самостоятельной работы рекомендуется в качестве

первой строки листинга записать $ substlevel=2 .

Кроме перечисленных, этот пункт подменю содер-

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

узнать, воспользовавшись клавишей F1 (т.е. Help).


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

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

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

случае нужно указать системе, где находятся ее

файлы и файлы с примерами расчетов.);

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

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


.


- 7 -


Работа с окнами


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

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

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

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

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

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

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

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


Сведения о системе


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

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

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

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

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

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

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

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

другие, нередко сводящая задачу к точному решению.


Алфавит системы Eureka содержит стандартный набор символов.

Это латинские прописные (от А до Z) и строчные (от а до z) буквы,

а также ряд спецзнаков:

: - разделитель для выражений размещенных в одной строке;

; - отмечает начало строки комментария;

{ } - внутри скобок размещается комментарий;

[] - используется для работы с размерными комментариями;

$ - указывает, что следующее слово - директива (установка);

= - операция присваивания;

:= - задание (определение) функции пользователя или началь-

ных значений переменных.

Длинные выражения после символа арифметической операции мож-

но переносить на другую строку.

Eureka может производить следующие операции:

+ сложение;

- вычитание;


.


- 8 -


* умножение;

/ деление;

^ возведение в степень;

() изменение приоритета операций;

< меньше; > больше; <= меньше или равно; >= больше или равно.


Элементарные функции


Eureka имеет функции re(z) и im(z), возвращающие действи-

тельную и мнимую части комплексного числа z=x+iy. Перед примене-

нием этих функций необходимо ввести директиву: $ complex=yes

и обозначить мнимую единицу i^2=-1 или i = sqrt(-1).

abs(z) - модуль ; exp(z) - вычисление e=2,71828... в степени z;

floor(x) - целая часть х; ln(z) - вычисление натурального ло-

гарифма z; log10(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.

Кроме перечисленных выше функций Eureka имеет еще ряд функций

и процедур:

fact(n) - вычисление факториала числа n;

ncum(x) - вычисляет специальную функцию ошибок Р(х) для нор-

мального распределения;

sum(f(i),i,n,k) - вычисляет сумму f(i) при индексе i, меняю-

щемся от n до k.


В системе Eureka пользователь имеет возможность задавать не-

обходимые ему функции через имеющиеся встроенные. Функции пользо-

вателя задаются в виде:

Имя функции (список переменных) = выражение

или

Имя функции (список переменных) := выражение

Вторая форма используется, если заданная функциональная за-

висимость рассматривается как приближенная.


.


- 9 -


--------------------------------------------------------------¬

¦ Примеры задач решаемых системой EUREKA. ¦

¦ ------------------------------------------- ¦

L--------------------------------------------------------------


Пример N1

------------


Решить нелинейное уравнение: e 5(x^2) 0-5x+1=0.

Решение

Набираем в окне Edit: exp(x^2)-5*x+1=0. Производим действия

описанные в пункте " Решение задачи " ( далее это будет имено-

ваться " решить задачу ").


Решив задачу получаем в окне Solution:


Variables Values

x = 1.3086594


При помощи отделения корня можно попробовать найти другое реше-

ние, т.е. набрать в окне Edit: (exp(x^2)-5*x+1)/(x-1.3086594)=0 и

решить задачу заново. Искать другое решение можно также при по-

мощи пункта меню Find other и установки radius.


Пример N2

------------

Вычислить корни полинома x 56 0-x 54 0-x 53 0+3x 52 0-1, т.е. решить уравнение:

x 56 0-x 54 0-x 53 0+3x 52 0-1=0.

Решение

Для вычисления значений, а также действительных и комплексных

корней полинома в системе Eureka существует специальная функция:

poly(x,an,......,a0).

Набираем в окне Edit:

$ settings ; Начало блока установок

complex=yes ; Работать с комплексными числами

accuracy=1.0e-9 ; Задаваемая точность вычислений

digits=8 ; Количество знаков у результатов вычислений

$ end ; Конец блока установок

i=sqrt(-1) ; Определение мнимой единицы

p(x):=poly(x,1,0,-1,-1,3,0,-1)


Решив задачу получаем в окне Solution:


.


- 10 -


Roots to the polynomial p


# Real part Imaginary part

1 0.69807525 0.0000000

2 -0.54737816 0.0000000

3 0.94982970 0.6507578

4 0.94982970 -0.6507578

5 -1.0251783 0.9608054

6 -1.0251783 -0.9608054


После нахождения корней сделаем выборочную проверку. Подста-

вив первый, третий и четвертый корни в полином. Для этого сделаем

в окне Edit следующие записи:


$ settings

complex=yes

accuracy=1.0e-9

digits=8

$ end

i=sqrt(-1)

a=0.69807525

z1=a^6-a^4-a^3+3*a^2-1

b=0.94982970+0.6507578*i

c=0.94982970-0.6507578*i

z2=b*b*b*b*b*b-b*b*b*b-b*b*b+3*b*b-1

z3=c*c*c*c*c*c-c*c*c*c-c*c*c+3*c*c-1


Решив задачу убеждаемся в том, что значения полинома в выбран-

ных точках практически равны нулю. К сожалению другая форма

записи при работе с комплексными числами в системе Eureka может

привести к ошибочному результату. Если Eureka выдает сообще-

ние " Error 5: too many formulas ", проверяем корни по очереди

порциями, доступными для обработки системой.


Пример N3

-------------

 4_____

Вычислить производную функции f(x)=3lg(x)- 7? 0(x/2)+x 52  0 в

точке 0,5.


.


- 11 -


Решение

Т.к. в системе Eureka надежнее работает функция вычисляющая

натуральный логарифм, то выразим десятичный логарифм через отно-

шение натуральных: lg(x)=ln(x)/ln(10).


Набираем в окне Edit:

a=1/ln(10)

f(x)=3*a*ln(x)-sqrt(x/2)+x^2

x=0.5

z=deriv(f(x),x)

Решив задачу получаем в окне Solution:


Variables Values

a = 0.43429448

x = 0.50000000

z = 3.1057669


Пример 4

-----------

lg(1+x)

Вычислить интеграл от функции f(x)= 7 \\\\\\\  0 на интервале [0,1].

(1+x 52)


Решение

Набираем в окне Edit:

a=1/ln(10)

f(x)=a*ln(1+x)/(1+x^2)

z=integ(f(x),x,0,1)

Решив задачу получаем в окне Solution:


Variables Values

a = 0.43429448

z = 0.11821420


Пример 5

-----------


Проверить,что при ¦ a ¦ <= 0,9 выполняется равенство:

 7p

 7! 0 sin 52 0(x) 7 p

 72 0  7\\\\\\\\\\\\\\\\\\\\\\\\\\\\  0 dx = 7 \\\

 71 0 1 + 2 a cos x + a 52 0 2

 50


.


- 12 -


Равенство проверить в точках a = -0,9;-0,45;0;0,45;0,9.


Решение

Набираем в окне Edit:


t=3.1415926/2

f(a,x)=sin(x)^2/(1+2*a*cos(x)+a^2)

t1=-0.9 : i1=integ(f(t1,x),x,0,3.1415926)

t2=-0.45 : i2=integ(f(t2,x),x,0,3.1415926)

t3=0 : i3=integ(f(t3,x),x,0,3.1415926)

t4=0.45 : i4=integ(f(t4,x),x,0,3.1415926)

t5=0.9 : i5=integ(f(t5,x),x,0,3.1415926)


Решив задачу получаем в окне Solution:


Variables Values


i1 = 1.5707963

i2 = 1.5707963

i3 = 1.5707963

i4 = 1.5707963

i5 = 1.5707963

k = 1.5707963

t1 = -0.9000000

t2 = -0.4500000

t3 = 0.0000000

t4 = 0.4500000

t5 = 0.9000000


Пример 6

-----------

Eureka позволяет решать задачу поиска экстремума функции при

помощи задания директив: $min и $max. При этом, если функция

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

жен, имеет смысл нарисовать график функции и исходя из этого гра-

фика задать начальные приближения и ограничения для поиска

экстремума. В противном случае поиск экстремума будет происходить

от начальных значений, заданных системой Eureka по умолчанию и

может привести не к тому экстремуму, который хотелось бы найти.


Вычислить максимум функции f(x)=5xe 5(-x/2) 0(2+sin(3x)), причем

он должен быть больше 10.


.


- 13 -


Набираем в окне Edit:


$ max (T)

V(x)=5*x*exp(-x/2)*(2+sin(3*x))

x:=2

V(x)>10

T=V(x)


Решив задачу получаем в окне Solution:


Variables Values


T = 10.629942

x = 2.5805009


Пример 7

-----------

Вычислить минимум функции f(x)=x 52 0+y 52 0+z 52 0-1.


Набираем в окне Edit:


$ min (Fxyz)

F(x,y,z) = x^2 +y^2 +z^2 -1

Fxyz = F(x,y,z)


Решив задачу получаем в окне Solution:


Variables Values


Fxyz = -1.0000

x = 6.1257e-13

y = -1.3030e-12

z = -5.9622e-14


Пример 8

-----------


Имеется квадратный лист бумаги со стороной a. Из листа

делается коробка следующим образом: по углам листа вырезаются

четыре квадрата и коробка cклеивается по швам. Какова должна

быть сторона вырезаемого квадрата, чтобы коробка имела наибольшую

вместимость. Решить задачу при a=6.


.


- 14 -


Набираем в окне Edit:


$ settings

accuracy=1.0e-12

$ end

$ Max(Y)

a=6

G(x)=x*(a-2*x)^2

Y=G(x) : 0


Решив задачу получаем в окне Solution:


Variables Values


a = 6.0000000

x = 1.0000000

Y = 16.0000000


Пример 9

----------- 7

 7(

 72  0 2x + 3y + z = 11

Решить систему линейны уравнений:  7  0  7*  0x + y + z = 4

 72 0 7x - 2y - 3z = -37

Решение 7 9

Набираем в окне Edit:


2*x+3*y+z=11

x+y+z=4

7*x-2*y-3*z=-37


Решив задачу получаем в окне Solution:


Variables Values

x = -3.000000

y = 5.000000

z = 2.000000


.


- 15 -



Пример 10

------------

¦ 5 7 ¦

Вычислить матрицу обратную к заданной A=¦ ¦ .

¦ 2 3 ¦


Решение

Система Eureka не имеет специальной функции для вычисления

обратной матрицы. Однако нам известно, что: A*A 5-1 0=E. Т.е. :


¦ 5 7 ¦ ¦ a b ¦ ¦ 1 0 ¦

¦ ¦ * ¦ ¦ = ¦ ¦ или

¦ 2 3 ¦ ¦ c d ¦ ¦ 0 1 ¦



¦ 5 7 ¦ ¦ a ¦ ¦ 1 ¦ ¦ 5 7 ¦ ¦ b ¦ ¦ 0 ¦

¦ ¦ * ¦ ¦ = ¦ ¦ и ¦ ¦ * ¦ ¦ = ¦ ¦

¦ 2 3 ¦ ¦ c ¦ ¦ 0 ¦ ¦ 2 3 ¦ ¦ d ¦ ¦ 1 ¦


Набираем в окне Edit:


5*a+7*c=1

2*a+3*c=0

5*b+7*d=0

2*b+3*d=1


Решив задачу получаем в окне Solution:


Variables Values

a = 3.000000

b = -7.000000

c = -2.000000

d = 5.000000


Пример 11

------------

 7(

 72 0  7  0e 52x 0 + sin(3x) - y 52 0 = 0

Решить систему нелинейных уравнений:  7*

 72 0 x 53 0 + 7*y + tg(5*x 52 0) = 0

 79

при начальных условиях x 40 0=-1 y 40 0=0,3.


.


- 16 -


Набираем в окне Edit:


exp(2*x)+sin(3*x)-y^2=0

x^3+7*y+tan(5*x^2)=0

x:=-1 : y:=0.3


Решив задачу получаем в окне Solution:


Variables Values

x = -1.0414127

y = 0.32744950


Пример 12

------------

Получены экспериментальные данные зависимости твердости по

Бринеллю Hb от степени деформации e для одного из сортов стали.

Эти данные представлены в следующей таблице:


------T-----T-----T-----T-----T-----T-----T-----T-----T-----¬

¦ e ¦ 5 ¦ 10 ¦ 15 ¦ 20 ¦ 25 ¦ 30 ¦ 40 ¦ 50 ¦ 60 ¦

+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+

¦ Hb ¦ 130 ¦ 141 ¦ 152 ¦ 163 ¦ 170 ¦ 180 ¦ 194 ¦ 206 ¦ 213 ¦

L-----+-----+-----+-----+-----+-----+-----+-----+-----+------


Построить эмпирическую зависимость вида: Hb(e) = 118 + a*e^b.

Вычислить Hb(e) при e=25 для полученной зависимости.


Набираем в окне Edit:


Hb(e) = 118 + a*e^b

Hb(5) = 130 : Hb(10) = 141

Hb(15) = 152 : Hb(20) = 163

Hb(25) = 170 : Hb(30) = 180

Hb(40) = 194 : Hb(50) = 206

Hb(60) = 213

t = 25 : y = Hb(t)


Решив задачу получаем в окне Solution:


Variables Values

a = 5.2800065

b = 0.70583936

t = 25.00000

y = 169.21009


.


- 17 -


Пример 13

------------

Функция задана в виде таблицы. Построить интерполяционный

полином Лагранжа и вычислить его значения в точках: 6,9 и 7,9.


------T-------T-------T-------T-------T-------¬

¦ x ¦ 2 ¦ 4 ¦ 6 ¦ 8 ¦ 10 ¦

+-----+-------+-------+-------+-------+-------+

¦ y ¦ 13,14 ¦ 8,28 ¦ 9,91 ¦ 5,976 ¦ 16,68 ¦

L-----+-------+-------+-------+-------+--------


Если эмпирическая зависимость имеет вид полинома и при

этом число точек заданных в таблице в точности равно степени

полинома плюс единица, то система Eureka осуществляет лагранжеву

интерполяцию.


Набираем в окне Edit:


L(x) = a*x^4 + b*x^3 + c*x^2 + d*x + e

L(2) = 13.14 : L(4) = 8.28

L(6) = 9.91 : L(8) = 5.97

L(10) = 16.68

x = 6.9 : y = L(x)

x1 = 7.9 : y1 = L(x1)


В окне Solution получаем


Solution


Variables Values


a = 0.08406250

b = -1.93250000

c = 15.59500000

d = -51.97750000

e = 68.83000000

x = 6.90000000

x1 = 7.90000000

y = 8.36504340

y1 = 6.11795090


.


- 18 -


----------------------------------------------------¬

¦ Задания для самостоятельной работы студентов. ¦

L----------------------------------------------------


Задача 1

-----------


Решить систему линейных уравнений:


 7(

 72 0 3x + 2z + v = 0

 7* 0 -x + 5y + 4z - v = -14

 72 0 x +y + z + v = 1

 79 0 1,5x + 0,5y + z -7*v = -6,5




Задача 2

-----------


Найти матрицу обратную к заданной матрице A:



¦ 3 4 2 ¦

¦ ¦

A = ¦ 2 3 5 ¦

¦ ¦

¦ 1 2 9 ¦



Задача 3

-----------


Определить коэффициенты a, b, c эмпирической зависимости


y(x) = ax 52 0 + bx + c.


.


- 19 -


Таблица экспериментальных данных


------T-----T-------T-----T-------T-----T-----T----¬

¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦

¦ x ¦ 1 ¦ 1,5 ¦ 2 ¦ 2,5 ¦ 3 ¦ 4 ¦ 5 ¦

+-----+-----+-------+-----+-------+-----+-----+----¦

¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦

¦ y ¦ 0,1 ¦ 0,225 ¦ 0,4 ¦ 0,625 ¦ 0,9 ¦ 1,6 ¦ 2,5¦

L-----+-----+-------+-----+-------+-----+-----+-----


Провести вычисления по полученной формуле для точек

x = 1,5;3 и 5.



Задача 4

-----------


Определить коэффициенты a, b, c и d эмпирической зависимости


y(x) = aT 40 0( t ) + bT 41 0( t ) + cT 42 0( t ) + dT 43 0(t ) , где:


T 40 0(t)=1 , T 41 0(t)=t , T 42 0(t)=2t 52 0-1 , T 43 0(t)=4t 53 0-3t.


Таблица экспериментальных данных

------T------T------T------T------T-------T-------¬

¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦

¦ x ¦ 5 ¦ 6 ¦ 7 ¦ 8 ¦ 9 ¦ 10 ¦

+-----+------+------+------+------+-------+-------+

¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦

¦ y ¦ 50,3 ¦ 60,1 ¦ 80,3 ¦ 91,9 ¦ 101,1 ¦ 110,6 ¦

L-----+------+------+------+------+-------+--------


Провести вычисления по полученной формуле для точек

x = 6;8 и 10.


Задача 5

-----------


Найти значения функции f (x), заданной таблично, в следующих

точках:


.


- 20 -


h 3h 5h 7h 9h

x 41 0+  7\\\ 0 , x 41 0+  7\\\\ 0 , x 41 0+  7\\\\ 0 , x 41 0+  7\\\\ 0 , x 41 0+  7\\\\ 0 .

2 2 2 2 2


Исходные данные:


h = 0,005 x 41 0 = 1,335



Функция задана таблицей

------T-------T-------T-------T-------T-------T-------¬

¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦

¦ x ¦ 1,335 ¦ 1,340 ¦ 1,345 ¦ 1,350 ¦ 1,355 ¦ 1,360 ¦

+-----+-------+-------+-------+-------+-------+-------+

¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦

¦ f(x)¦ 4,162 ¦ 4,256 ¦ 4,353 ¦ 4,455 ¦ 4,562 ¦ 4,673 ¦

L-----+-------+-------+-------+-------+-------+--------



Задача 6

-----------


Методом обратного интерполирования, найти значения аргу-

ментов x, для которых значения функции y=f(x) известны и равны

4,21 ; 4,31 ; 4,41 ; 4,51 ; 4,61 .


Функция задана таблично

----------T-------T-------T-------T-------T-------T-------¬

¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦

¦ x ¦ 1,335 ¦ 1,340 ¦ 1,345 ¦ 1,350 ¦ 1,355 ¦ 1,360 ¦

+---------+-------+-------+-------+-------+-------+-------+

¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦

¦ y=f(x) ¦ 4,162 ¦ 4,256 ¦ 4,353 ¦ 4,455 ¦ 4,562 ¦ 4,673 ¦

L---------+-------+-------+-------+-------+-------+--------



Задача 7

-----------


Определить, все ли корни уравнения


.


- 21 -


x 55 0 + 0,5x 54 0 - 3x 53 0 + 27x 52 0 + 13,5x - 81 = 0


действительны.



Задача 8

-----------


Проверить, что при ¦ a ¦ <= 0,9 выполняется равенство

 7p

 7! 0 sin(x)

 72 0 __________________________ dx = 2 .

 72 0  7|\\\\\\\\\\\\\\\\\\\\\\

 71 0  7? 0 1 - 2 a cos x + a 52

 50


Равенство проверить в точках a = -0,9;-0,45;0;0,45;0,9.



Задача 9

-----------


Проверить равенство

a a 52

 7! 0 1  7!

 72 0 x 53 0 sin(x 52 0) dx =  7\\\ 0  72 0 x sin(x) dx

 72 0 2  72

 71 0  71

 50 0  50

при 5  0a, изменяющемся от 1 до 2 с шагом h = 0,2 .



Задача 10

------------

Определить, корень какого из уравнений,


 7|\\\\\\\ 0 1

 7? 0 x + 1 -  7\\\ 0 = 0 7  0 или x 52 0 - sin( 7p 0x) = 0,

x


.


- 22 -


принадлежащий отрезку [ 0,7 ; 0,8 ], больше ?

Корни найти с точностью e = 0,00001.



Задача 11

------------


Определить, корень какого из уравнений,

 7( |\\\\\ )

7  72 0 0,7854- x 7? 0 1-x 52 7  0  72

lg(6x) -  7\\\\\\\\ 0=0 или 0,3+x-cos 72\\\\\\\\\\\\\\\\\\2 0=0,

6(2x+1)  72 0  7  0 1-x 52 7  0  7 2

 79  0  7 0

принадлежащий отрезку [ 0,5 ; 0,6 ], меньше ?

Корни найти с точностью e = 0,00001 .



Задача 12

-------------


Найти решение системы нелинейных уравнений:

 7(  0  7|\

 72 0 tg(xyz 52  0+ 0,4) - x 52 0 +  7? 0z - 1 = 0 ,

 72

 72

 7* 0 0,5x 52 0 + 2y 52 0 + z 52 0 - 2 = 0 ,

 72

 72

 72 0 x + y + z - 2,54732 = 0 ,

 79

приняв за начальное приближение точку (1,1;0,5;0,95)

и задав точность вычислений е = 0,00001 .




Задача 13

------------


Найти решение системы нелинейных уравнений:


.


- 23 -


 7( 0  7|\\

 72 0 e 5XY 0 - x 52 0z 52 0 + y 7? 0z - 1,5 = 0 ,

 72

 72 0  7|\

 7* 0 ( x +  7? 0z - 0,5 ) + y 52 0 - 1 = 0 ,

 72

 72

 72 0 x + y + z - 1,84643 = 0 ,

 79

приняв за начальное приближение точку (0,4;0,5;0,95)

и задав точность вычислений е = 0,00001 .



Задача 14

------------


Экспериментальные данные зависимости относительного удлине-

ния от температуры для катанного молибдена представлены

следующими таблицами:


Температура t , гр. C

----------T---------T---------T---------T---------¬

¦ ¦ ¦ ¦ ¦ ¦

¦ 27 ¦ 327 ¦ 402 ¦ 477 ¦ 627 ¦

+---------+---------+---------+---------+---------+

¦ ¦ ¦ ¦ ¦ ¦

¦ 777 ¦ 927 ¦ 1077 ¦ 1227 ¦ 1827 ¦

L---------+---------+---------+---------+----------


Относительное удлинение  7d 0 , %

----------T---------T---------T---------T---------¬

¦ ¦ ¦ ¦ ¦ ¦

¦ 10 ¦ 7,5 ¦ 6 ¦ 5,5 ¦ 5 ¦

¦---------+---------+---------+---------+---------+

¦ ¦ ¦ ¦ ¦ ¦

¦ 5 ¦ 5 ¦ 8 ¦ 10 0 ¦ 2 ¦

L---------+---------+---------+---------+----------


Аппроксимировать экспериментальные данные зависимостью


.


- 24 -

 7d 0(t) = a + b*t + c/t + d*sin(t).


Выполнить вычисления по полученной зависимости для

точек t = 402; 627; 1077; 1827.



Задача 15

------------


Значения интегрального синуса


x

 7! 0 sin(u)

Si( x ) =  72 0 ------- du

 71 0 u

0

даны в таблице:


---------T------T------T------T------T------T------T------¬

¦ x ¦ 0,000¦ 0,500¦ 1,000¦ 1,500¦ 2,000¦ 2,500¦ 3,000¦

+--------+------+------+------+------+------+------+------+

¦ Si(x) ¦ 0,000¦ 0,493¦ 0,946¦ 1,325¦ 1,605¦ 1,779¦ 1,849¦

L--------+------+------+------+------+------+------+-------


Вычислить Si ( 2,357 ) при помощи аппроксимирующей

зависимости. Для сравнения вычислить интеграл при помо-

щи встроенной в систему Eureka функции integ(f(x),x,a,b).

При вычислении интеграла нижний предел брать равным 0,0000001.



Задача 16

------------


Значения полного нормального эллиптического интеграла

Лежандра второго рода


 7p 0/2

 7! 0  7|\\\\\\\\\\\\\\\\\\\

y(t) =  72 0  7? 0 1 - sin 52 0(t)sin 52 0(x) dx

 71

0


.


- 25 -


даны в таблице:


---------T-------T------T------T------T------T------T------¬

¦ t ¦ 0,000 ¦  7p 0/36 ¦  7p 0/18 ¦  7p 0/12 ¦  7p 0/9 ¦ 5 7p 0/36¦  7p 0/6 ¦

+--------+-------+------+------+------+------+------+------+

¦ y(t) ¦ 1,571 ¦ 1,568¦ 1,559¦ 1,544¦ 1,524¦ 1,498¦ 1,467¦

L--------+-------+------+------+------+------+------+-------


Методом обратного интерполирования, вычислить 7  0t

при y(t) = 1,46 и 1,56.

Проверить выполнение равенства:


 7p 0/2

 7! |\\\\\\\\\\\\\\\\\\

y(t) -  72 0  7? 0 1 - sin 52 0(t)sin 52 0(x) dx = 0 .

 71

0

при полученных значениях.


.


- 26 -


Авторы: Сигитов Евгений Васильевич,

Гопенгауз Владимир Израильевич

Типография МГИСиС. Заказ ___________. Тираж 800 экз.


© Рефератбанк, 2002 - 2024