Р а з в л е к а т е л ь н о - и г р о в о й   п о р т а л

 

Нормальная работа сайта гарантируется только на  Internet Explorer'е

главная

                     

Юмор                       

Анекдоты

Тел-приколы

Видеоприколы

Программы               

Программки

Прикол-программки

Игры                        

Даты выхода игр

Обзор игр

Office-игры

Коды

Скриншоты

Обои

Общение                   

Гостевая книга

Чат

Новости                     

Игры  

Компьютеры

Космос

Рефераты, соч.          

Компьютеры  

Литература

Реклама                    

Мои баннеры n

Ссылки n

РАБОТА В СИСТЕМЕ 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. і

 

 

Пример 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 для одного из сортов стали.

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

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

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

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

 

Построить эмпирическую зависимость вида: 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.

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

і x і 2 і 4 і 6 і 8 і 10 і

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

 

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

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

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

полинома плюс единица, то система 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

.

 

 

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

я6ДДДДДДДДДДДДДДДДДДДДДДДДДДД

 

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

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

 

Цель работы

я6ДДДДДДДДДДДДДДДД

 

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

системы:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Report);

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

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

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

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

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

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

 

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

пунктов.

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

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

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

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

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

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

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

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

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

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

Edit);

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

 

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

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

я6Способ N 1

я7\\\\\\\\\\\\\

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

я6Способ N 2

я7\\\\\\\\\\\\\

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

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

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

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

я6m(x)=1/x )

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

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

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

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

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

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

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

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

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

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

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

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

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

 

я6Примечание

я7\\\\\\\\\\\\\

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

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

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

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

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

 

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

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

тор;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

нию.

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

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

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

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

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

 

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

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

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

Ах=bя4 я0 (1)

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

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

я4^ ^

х=Ах+bя4 я0 (2)

 

я4^ ^

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

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

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

я4-1

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

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

я4^ ^ ^ ^

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

я4^ ^ ^ ^

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

я6.....................................

я4^ ^ ^ ^ я6 я4^

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

 

я4^

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

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

я4^ ^

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

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

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

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

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

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

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

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

 

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

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

 

я4(k+1) ^ (k) ^

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

 

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

 

я_Теоремма

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

 

я4nя6 я4n

я6ДДДДїя4 ДДДДя6ї

я4Mя6 я4Aя6 я4Xя6 \ і я4^я6 я4 я6і і я4 я6і я4 я6\ я4 я6 і я4 я6і

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

я6ДДДДЩ ДДДДЩ

я6j=1 я4 я6j=1

я6iя7-я6j

или

я4n n

я4ДДДДя6їя4 ДДДДя6ї

я4Mя6 я4Aя6 я4Xя6 я4 я6\я4 і ^ і і і я6\я4 і і

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

я4ДДДДя6Щя4 ДДДДя6Щ

я6i=1 i=1

я6iя7-я6j

Тогда:

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

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

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

я4(k) - k (0) -

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

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

 

Замечание 1

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

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

общем виде.

 

Замечание 2

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

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

оценкая6:

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

я4M A X і я6xя4i я6-я4 я6xя4i і <=я6 q/(1-q)я4 я6 я4M A X ія6 xя4i я6-я4 я6xя4iя6 я4 я6і

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

 

я_Метод Зейделя

Этот метод является модификацией метода простой итерации. Основ-

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

я4_

(к+1)-го приближения к неизвестному я6xя4iя0 при я6iя0>1 используются уже найден-

я4- -

ных (к+1)-е приближения я6к я0неизвестным я6xя41я0 ,...я6,xя4i-1я0 , а не к-е приблия6-

жения, как в предыдущем методе.

На (к+1)-ой итерации i-ая компонента вычисляется по формя6уя0лея6:

я4(k+1) ^ (k+1) ^ (k+1) ^ (k) ^ (k) ^

я6xя4i я6=я4 я6-aя4i,1я6xя41 я6-я4 я6...я4 я6-aя4i,i-1я6xя4 я6-aя4i,i+1я6xя4 я6-...-aя4i,nя6xя4 я6+я4 я6b

 

Достаточное условие сходимости метода Зйделя совпадает в приве-

денной формулировке с условием сходимости метода простои итерации.

2) Eureя6kя0a позволяет решать системы линейных уравнений (как и мно-

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

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

я6Ъ ї Ъ ї

я62xя41я6+3xя42я6+5xя43я6=31 і 2 3 5 і і 31 і

я6-xя41я6+3xя43я6=11 т.е. Ax=b, где A=і-1 0 3 і b=і 11 і

я6xя41я6-7xя42я6+5xя43я6=0 і 1 -7 5 і і 0 і

я6А Щ А Щ

 

я6ня0ужно сделать в окне Edit любую из двух приведенных ниже записей (Euя6-

reя6kя0a воспримет эти записи практически одинаковоя6 ).

 

я6I)я0 я6іі II)

я6іі

я62*X1+3*X2+5*X3=31 іі 2*X1+2*X3+3*X2+3*X3-31=0

я6-1*X1+3*X3=11 іі -X1+3*X3=0

я6x1-7*X2+5*X3=0 іі X1-5*X2+5*X3-2*X2=0

я6іі

 

После чего подняться в верхнюю строку меню (при помоя6щя0и ESC)

ия6 я0 подведяя6 я0курсор к пункту Solve я6 я0нажать Enter. Если я6 я0матрицая6 я0 системы

вырождена, то попытка я6 я0решения я6 я0не я6 я0преведет к успеху. я6 я0В нашем я6 я0случае

я6det Aя7-я60 я0и поэтому в окне решений (Solution) появятся результаты, полуя6-

ченные с заданной точностью:

 

я6X1=1.00000000 X2=3.000000000 X3=4.000000000

 

Eureя6kя0a позволяет решать системы линейных уравнений не только с

дествительными, но и с комплексными коэффициентами. К решению таких

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

у электро- и радиотехнических цепей при их работе на переменном токе.

Далее приводится пример записи в окне Edit системы линейных уравнений

с комплексными коэффиециентамия6:

 

я6$ complex=yes

я6i^2=-1

 

я6(2+i)*X1+7*X2+(7-i)*X3=0

я6(5-i)*X1+i*X2+3*i*X3=2

я6(3-i)*X1+2*X2+5*X3=4

 

 

я6Задание

я6ДДДДДДДДДДД

а) Проверьте при помощи встроенного в Eureя6kя0a калькулятора может

ли быть решена ваша система методом простой итерации.

б) Проверьте при помощи окна Edit и пункта меню Solve не является

ли ваша система вырожденной.

в) Решите вашу систему. Сделайте проверку решения при помощи окна

Verify. Подя6гоя0тя6оя0вьте отчет о решении в окне Report.

г) Найдите матрицу, обратную к матрице вашей системы. Для этого,

используя равенство я6AAя5-1я6=Eя0,я6 составьте nя52я6 уравнений с nя52я6 неизвестными,

я6где n*n размер исходной матрицы.

я6d) Используя равенство AAя5-1я6=E , проверьте является лия0 найдення6ая

в пункте я6(я0гя6) матрица обратной к A.

 

 

 

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

я6ДДДДДДДДДДДДДДДДДДДДДДДДДД

 

Язык и функция6ия0 системы Eureя6kя0a. Решение нелинейных

уравнений. я6 я0Решение систем нелинейных уравнений.

Вычисление экстремумя6ая0 функций от одной переменной.

 

я6Цель работы

я6ДДДДДДДДДДДДДД

 

Приобретение навыков решения нелинейных уравнений и систем нели-

нейных уравнений при помощи систем Eureя6kя0a.

 

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

 

a) Алфавит системы Eureя6kя0a содержит стандартный набор символов.

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

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

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

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

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

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

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

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

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

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

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

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

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

Edit в виде блока.

я_Пример

$ settings

acuracy=0.000001

digits=5

$ end

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

+ сложение; - вычитание; * умножение; / деление; ^ возведение в

степень; () изменение приоритета операций; . отделение целой части

числа от дробной; ,отделение переменных друг от друга в списках; <

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

Приоритет операций определяется как и в языках Бейсик, Паскаль и

т.д.

Eureя6kя0a имеет функции re(z) и im(z), возвращающие действительную и

мнимую части комплексного числа z=x+iy. Перед применением этих функций

обходимо ввести директиву: $ complex=yes и обозначить мнимую едя6ия0ницу

i^2=-1.

Алгебраическя6иея0 функция6и

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

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

log 10(z) - вычисление десятичного логарифма z; sqrt(z) - вычисление

корня квадратного из z; pos(x) - возвращает х при х>0 и 0 в противном

случае; sgn(x) - возвращает: 1 при х>0, -1 при х<0 и 0 при x=0

я_Тригонометрические и гиперболические функции

atan2(y,x) - вычисление арктангеса по координатам x и у (угол

заключенный между осью Ох и отрезком, концы которого -(0,0) и (х,у));

polar(x,y) - преобоазование декартовых координат в полярные;

sin(z), cos(z), tan(z) - вычисление синуса, косинуса и тангеса z;

sinh(z), cosh(z), tanh(z) - вычисление гиперболических синуса,

косинуса и тангеса z.

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

процедур:

deriv(f(x),x) - вычисление производной ф-ции f(x);

integ (f(x),x,a,b) - вычисление определенного интеграла от f(x) в

пределах от а до b.

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

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

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

poly(x,an,...,a0) - вычисляет значение всех действительных и

комплексных корней полинома an*x^n+...a1*x+a0 и позволяет задать функ-

цию P(x) вычисляющую значение полинома в точке х.

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

от n до k.

В системе Eureя6kя0a пользователь имеет возможность задавать необхо-

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

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

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

или

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

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

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

б) Eureca не вычисляет производные (и инегралы) в аналитической

форме. Она может вычислять значения производной в точке численным ме-

тодом. С помощью системы Eureя6kя0a можно вычисля6яя0ть и производные более

высокого порядка. Например, чтобы вычислить вторую производную функции

sin(x), достаточно написать:

F=deriv(deriv(sin(x),x),x).

Ниже приводится запись в окне Edit. Комментарии помогают понять

смысл записи.

;Вычисление производной

$ settings ; Установка

digits=12 ; числа знаков

$ end ; результата

; Задана функция d(x)=d(sin(x))/dx

d(x)=deriv(sin(x),x)

d1=d(4.3) ; Вычислена функция d(x)=cos(x)

; в точке x=4.3

После этого для получения решения надо подняться в верхнюю строку

меню и активизировать пункт Solve. При этом используя пункт меню

я6Gя0raph можно построить график d(x).

в) Пусть f(x) - функция, определенная на отрезке [a,b]. Предполо-

я4_

жим, что на этом отрезке содержится единственная точка x локального

я4-

минимума f(x), причем функция строго убывает при я7 я0xя7,я0x и строго возрас-

я4-

тает я7 я0при я7 я0xя7.я0x. Такая функция называется унимодальной. Заметим, что

достаточно рассмотреть задачу минимизации функции f(x), так как макси-

мизация сводится к минимизации с помощью введения новой функции

g(x)=-f(x). Таким образом будут решены оба варианта экстремальной за-

дачи.

Ряд методов минимизации основан на сравнении значений функции

f(x), вычисляемых в точках x1,x2,...,xя4nя0. Эти методы часто называют ме-

тодами прямого поиска, а точки xя4iя0 - пробными точками. Одним из наибо-

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

Золотым сечением отрезка называется такое разбиение отрезка на

две неравныея6 части ,что отношениея0 длины всего отрезка к длине я6 я0его боя6-

льшей части равно отношению длины я6 я0большей части к длине меньшей части

отрезка.

Золотое сечение отрезка [a,b] осуществляется каждой из двух сим-

метрично расположенных относительно центра отрезка точек:

 

я62 2

я7aя6=a + ДДДДДДДДД ( b - a )я7 bя6=a + ДДДДДДДДД ( b - a )

я7|\\\я6 я7|\\\\

я63 + я7?я6 5 1 + я7?я6 5

 

При этом точка я7aя0 осуществляет золотое сечение не только отрезка

[a,b], но и отрезка [a,я7bя0 ]. Кроме того точкая7 bя0 осуществляет золотое сея6-

чение не только отрезка [a,b], но и отрезка [ я7aя0,b].

Очередная (к+1)я6 я0 интерации я6 я0производится следующим образом. я6 я0Точки

я7aя5(k)я0 и я7bя5(k)я0 я7 я0находятся по формулам:

 

я62 я5 я62

я7aя5(k)я6=aя5(k)я6 + ДДДДДДДДДДя7 Dя5(k)я7 bя5(k)я6=aя5(k)я6 + ДДДДДДДДДД я7Dя5(k)

я7|\\\\я6 я5 я7|\\\\\

я63 + я7?я6 5 я5 я61 + я7?я6 5

 

я6гя0де я7Dя5(k)я0 - длина отрезка локализации экстремума при кя5ойя0 интерации.

 

Если я6f(я7aя5(k)я6)я5 я7,я5 я6f(я7bя5(k)я6) , то

я6Ъ ї Ъ ї

я6xя5(k+1)я0 я6принадлежит я0 я6ія0 я6aя5(k+1)я4,я6bя5(k+1)я6ія5=я6ія0 я6aя5(k)я4,я7bя5(k)я6ія0 я7`

я6А Щ А Щ

я6и xя5(k+1)я6=я7aя5(k)

 

 

Если я6f(я7aя5(k)я6) > f(я7bя5(k)я6) , то

 

я6Ъ ї Ъ ї

я6xя5(k+1)я6 принадлежит і aя5(k+1)я6,bя5(k+1)я6і=і я7aя5(k)я6,bя5(k)я6і

я6А Щ А Щ

 

я6и xя5(k+1)=я7bя5(k)

 

Заметим, что точка я6xя5(k)я0 отстоит от концов отрезка [aя5(k)я0, bя5(k)я0] на

веля6ия0чину, не превышающую я62

я6ДДДДДДДДДДя7 Dя5(k)

я7|\\\\я6 .

я61 + я7?я6 5

 

Поэтому верна оценка:

я62

я6і xя5(k) - я6xя5* ія7 ,я6 ДДДДДДДДДДя7 Dя5(k)я6 =я7 Dя5(k+1)

я7|\\\\я6 .

я61 + я7?я6 5

 

я7|\\\

я7?я0 я65 + 1

Т.к. каждая интерация сокращает длину отрезка я6 я0вя6 ДДДДДДДДДДДДД

я62

я6раз,я0 то справедлива следующая оценка погрешности:

 

я6Ъ Дїя5k+1

я6і 2 і

я6і xя5(k)я6 - xя5* ія7 , я6і ДДДДДДДДДДД ія5 (b - a)

я6і я7|\\\\я6 і

я6А 1 + я7?я6 5 я7 я6Щ

 

Таким образом, метод золотого сечения сходится со скоростью гео-

метрической прогрессии, знаменатель которой

 

я52

gя5 я0=я5 ДДДДДДДДДДДя7 ~я6 0.62

я7|\\\\

я61я5 я6+я5 я7?я6 5

 

Существуют методы, которые могут оказаться более эффективными,

если минимизируемая функция достаточно гладкая. Часть из них является

просто модификациями методов решения нелинейных уравнений применитель-

но к уравнению f(x)=0.

г) Eureя6kя0a позволяет решать задачу поиска экстремума функции при

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

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

нарисовать график функции и исходя из этого графика задать начальное

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

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

темой Eureя6kя0a по умолчанию и может привести не к тому экстремуму, кото-

рый хотелось бы найти. Ниже приводится пример я6записи из окна Edit. Эта

я6запись позволяет найти экстремум.

 

$ max (T)

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

x:=2

V(x)>10

T=V(x)

 

В результате решения получается: T=10.629942, x=2.5805014я6.

 

д) Корень хя5*я0 уравнения f(x)=0 называется простым, если f(xя5*я0)=0 и

f'(xя5*я0)я7-я00. В противном случае корень называется кратным. Целое число m

называется кратностью корня xя5*я0, если fя5(k)я0(xя5*я0)=0 для к=0,1,2,...m-1 и

fя5(m)я0(xя5*я0)я7-я00.я7 я0Геометрическия7 я0корень я7 я0x соответствует я7 я0точке я7 я0пересечения

графика я7 я0функции y=f(x) с осью Oя6xя0. Решение я7 я0задачи я7 я0отыскания корней

нелинейного уравнения осуществляет в два этапа. Первый этап называя6-

ется этапом локализации корней, второй - этапом итерационного уточя6-

нения корней.я6 я0 Первый я6 я0этап удобноя6 я0 выполнять при помощи графических

средств системы Eureя6kя0a. я6 я0На втором этапе для я6 я0вычисления каждого из

корней с точностью я6eя0>0 используют какой-либо из итерационных я6 я0методов,

позволяющих я5 я0построить последовательность я6xя5(0)я0,я6xя5(1)я0,..,я6xя5(n)я0...я5 я0приблия6-

жений,я6 я0сходящуюся я5 я0кя5 я0 корню я6 xя5*я0. я6 я0Сформулируемя6 я0 один изя6 я0этих я6 я0методов

вя6 я0виде теоремы.

 

я6Теоремая0 я61.я0(о сходимости метода Ньютона)

я6ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

 

Пусть я6xя5*я0- простой вещественный корень уравнения f(x)=0 и пусть

f'(x)я7-я00 в окрестности Uя4rя0(xя5*я0)={x:я6ія0x-xя5*я6ія0 /p>

рерывна в Uя4rя0(xя5*я0) и

0 /p>

я6причем

я6M іxя5(0)я6 - xя5*і

я6q = ДДДДДДДДДДДДДДя5ДДя6 < 1 .

я62 m

 

Тогда, если я5 я0начальное приближение я5 я6xя5(0) я6принадлежит я5 я0Uя4rя0(xя5(*)я0),я6 я0то

метод Ньютона

я6f(xя5(k)я6)

я6xя5(k+1)я6=xя5(k) я6-я5 ДДДДя6ДДДДДД , где k=0,1,2,... сходится к xя5(*)я6,

я6f'(xя5(k)я6)

причемя6 я0дляя6 я0погрешности я6 я0справедлива оценка

 

я6і xя5(k) я6- xя5*я6 ія7 ,я6 qя5t-1 і я6xя5(0)я6 - xя5* ія6 , где t=2я5k я6.

 

я_Замечание 1.

Аналогичные теоремы существуют для случая кратных и комплексных

корней.

я_Замечание 2.

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

f'(x)=0. Поэтому если для g(x)=f'(x) выполняются условия приведенной

выше теоремы, то итерационный процесс, приближающий к точке экстрему-

мая6 f(x)я0, будет иметь вид:

 

я6f'(xя5(k)я6)

я6xя5(k+1)=я6xя5(k)я6 - ДДДДДДДДДДДД , где k=0,1,2,....

я6f''(xя5(k)я6)

 

е) Задача отыскания решения системы из N-нелинейных уравнений с N

неия6зя0вестными, имеющая вид

 

fя41я0 (я6xя41я0, я6xя42я0, ..., я6xя4nя0)=0

fя42я0 (я6xя41я0, я6xя42я0, ..., я6xя4nя0)=0 я6 я0 (1)

......................

я6fя0n (я6xя41я0, я6xя42я0, ..., я6xя4nя0)=0

 

встречается я6 я0очень я6 я0часто, т.к. в я6 я0реальных я6 я0исследованиях определя-

ются я6 я0сотни я6 я0или я6 я0даже я6 я0тысячи я6 я0параметров. Первым я6 я0этапомя6 я0 решения

такя6 я0же,я6 я0какя6 я0и я6 я0вя6 я0одноя6меря0ном я6 я0случае, я6 я0является я6 я0локализация я6 я0решения

xя5*я0=(я6xя41я0,...,я6xя4nя0)я6 я0,я6 я0т.е. подбор множества содержащего я6xя5*я0.

(Здесь далее нижний индекс будет означать номер компоненты векто-

ра, а верхний - номер интерации). Часто в качестве такого множества

выступает параллепипед или шар в N - мерном пространстве. Во многих

случаях полное решение задачи локализации невозможно и ее можно счи-

тать решенной удовлитворительно, если из каких либо соображений удаетя6-

ся я6 я0найти хорошее я6 я0начальное приближение я6xя5(0)я0. я6 я0В я6 я0простейших я6 я0случаях

(для систем двух уравнений с двумя неизвестными) могут быть использо-

ваны графические методы.

На втором этя6ая0пе для я6вычисления я0решения с заданной точностью ис-

пользуют один из итерационных методов. Рассмотрим в качестве примера

метод, называемый методом простой итерации. Преобразуем систему (1) к

следующему эквивалетному виду ( к виду удобному для интераций):

 

я6xя41=я7Fя41я6(xя41,я6xя42,....,я6xя4nя6)

я6xя42я6=я7Fя42я6(xя41я6,xя42я6,....,xя4nя6)

я6.................... (2)

я6xя4nя6=я7Fя4nя6(xя41я6,xя42я6,....,xя4nя6)

 

 

Если ввести вектор-функцию,я6 я7 Fя6=(я7Fя41я6,я7Fя42я6,....,я7Fя4nя6)я5Tя6, я0тоя6 я0 система (2)

запишется так:

я6x=я7Fя6(x) (3)

 

Пусть начальное приближение я6xя5(0)=(я6xя41я5(0)я0,я6xя42я5(0)я0,...,я6xя4nя5(0)я0)я5Tя0 задано.

Подставляяя6 его я0в правуюя6 я0часть я6 я0системы (3),я6 я0 получимя6 xя5(1)я6=я7Fя6(xя5(0)я6)я0.

Подставляя я6 xя5(1)я0 в я6 я0 правую часть (3),я6 я0найдем я6xя5(2)я6=я7Fя6(xя5(1)я6) и я0т.д.

Продолжая я6 я0вычисления я6 я0по формуламя6 xя5(k+1)я6=я7Fя6(xя5(k)я6) ,я0 я6kя7.я60я0 получим пося6-

ледовательность я6xя5(0)я0,я6xя5(1)я0,...,я6xя5(k)я0,... приближений к решению я6xя5*я0.

 

я6Ъ ї

я6і dя7 Fя41я6(x) я7 я6dя7Fя41я6(x) і

я6ія4 ДДДДДДДДДя6Д ...... ДДДДДДДДД і

я6і dxя41я6 я7 я6 я7 я6dxя4nя6 і - матрица ( частных

я6і.............................і

Пусть я7Fя6'(x) =я0 я6і.............................і производных ) Якоби

я6і і

я6і я7 я6dя7Fя4nя6(x) я7 я6dя7Fя4nя6(x)я4 я6 і соответствующаяя7 Fя6(x).

я6і ДДДДДДДДД ....... ДДДДДДДДД і

я6і я7 я6dxя41я6 я7 я6dxя4n я6 і

я6А Щ

 

я6Сфя0ормулируем теорему о сходимости метода простых интераций.

 

я6Теорема 2 .

я6ДДДДДДДДДДДДДДД

Пусть в некоторой я4 я7s я0- окрестности я4 я0решения я4 я6xя5*я0 функциия4 я0 я7Fя4iя6(x)

(i=1,2,...,n) дифференцируемы и выполнено неравенство

 

я6n

я6ДДДДДДї і і

я6m a x я0 я6\ і я7 я6dя7Fя4iя6(x) і

я61я7,я6iя7,я6nя0 я6/ іДДДДДДДДДія7 ,я6 qя5 я6, где 0я7,я6q<1 и q - постоянная .

я6ДДДДДДЩ і я7 я6dxя4jя6 і

я6j=1 і і

 

Тогда независимо от выбора начального приближения я6xя5(0)я0 из указан-

ной я7s я0- окрестности я7 я0корня я7 я0итерационная последовательность не выходит

из этой окрестности, метод сходится со скоростью геоя6мя0етрической прогя6-

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

 

 

я6m a x і xя4jя5(k)я6 - xя4jя5*я6 ія7 ,я6 qя5kя6 m a x і xя4jя5(0)я6 - xя4jя5*я6і

я61я7,я6jя7,я6n 1я7,я6jя7,я6n

 

 

(При помощи понятия нормы теорема 2 может быть сформулирована в

более общем виде).

я_Замечание 3.

В условиях теоремы 2 верна апостериорная оценка погрешности:

 

я6q

я6m a x і xя4jя5(k)я6 - xя4jя5*я6 і я7,я6 ДДДДДДДД m a x і xя4jя5(k)я6 - xя4jя5(k-1)я6 і

я61я7,я6jя7,я6nя0 я5 я61 - q 1я7,я6jя7,я6n

 

При наличии достаточно хорошего начального приближения я6xя5(0)я0 можно

считать, что

я6n

я6ДДДДДДї і я5 я6і

я6qя7 ~я6 m a x \ і я5 я7 я6dя7Fя4iя6(xя5(0)я6) і

я61я7,я6iя7,я6nя0 я6/ іДДДДДДДДДДДДя5Дя6і

я6ДДДДДДЩ і я5 я7 я6dxя4jя6 я5 ія6 .

я6j=1 ія5 і

я_Пример

В результате визуального анализа графиков кривых f1 и f2 из сис-

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

 

я6f(xя41я6,xя42я6) = xя41я53я4 я6+ xя42я53я6 - 8xя41я6xя42я6 = 0

я6(4)

я6f(xя41я6,xя42я6) = xя41я6ln(xя42я6) - xя42я6ln(xя41я6) = 0

 

обнаружилось,я5 я0чтоя5 я0 одно из ее решенийя4 я0находится вблизи точки я5 я0(3.8я6;я02).

Проверить сходимость я5 я0метода простых итераций для я5 я0системы (4),я5 я0если в

качестве я5 я0начального я5 я0приближения я5 я0взята точкая6 xя41я5(0)я6=3.8 и xя42я5(0)я6=2.

 

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

тых итераций.

 

я43я7|\\\\\\\\\\\\

я6xя41я6 = я7?я6 8xя41я6xя42я6 - xя42я53 =я7 Fя41я6(xя41я6,xя42я6)

 

я6xя42я6 xя41

я6xя42 я6= xя42я6 + ДДДДДДДД - ДДДДДДДД =я7 Fя42я6(xя41я6,xя42я6)

я6ln(xя42я6) ln(xя41я6)

 

Для вычисления q воспользуемся системой Eureя6kя0a. Сделаем в окне

Edit следующую запись:

x=3.8 : y=2

a=deriv ((16*x-8)^(1/3),x)

b=deriv ((30.4*y-y^3)^(1/3),y)

c=deriv (2+2/ln(2)-x/ln(x),x)

d=deriv (y+y/ln(y)-3.8/ln(3.8),y)

K=abs(a)+abs(b) : p=abs(c)+abs(d)

В результате решения получаем p <1.

Cледовательно, метод простой итерации в данном случае сходится.

ж) Для того, чтобы найти оговоренное выше решение системы (4) при

помощи среды Eureя6kя0a, достаточно сделать в окне Edit cледующую запись

x^3+y^3=8*x*y

x*ln(y)=y*ln(x)

x:=3.8 : y:=2

и отдать среде команду Solve.

 

я6Задание

я6ДДДДДДДДДД

а) Проверьте при помощи графика и таблицы из среды Eureя6kя0a наличие

корня y предложенного вам уравнения f(x)=0 на указанном отрезке лока-

лизации корня.

б) Найдите при помощи системы Eureя6kя0a m и M. Проверьте выполнение

условия

я6M і xя5(0) я6- xя5*я6 і

я6ДДДДДДДДДДДДДДДДДя5 я6 < 1

я62 m

 

(из теоремы о сходимости метода Ньютона) для вашего уравнения

f(x)=0.

в) Решите ваше уравнение при помощи системы Eureя6kя0a.

г) Изобразите на миллиметровке графики кривых из предложенной вам

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

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

де я6x=я7Fя6(x).

д) Используя систему Eureka, вычислите

я6n

я6ДДДДДї і я5 я6і

я6\ і я7 я6dя7Fя4iя6(xя5(0)я6) і

я6/ іДДДДДДДДДДя5ДДДя6і

я6ДДДДДЩ і я4 я7 я6dxя4jя6 я5 я6і

я6j=1 і я5 я6і

 

для каждой i-ой строки я6 я0Якобиана (i=1,2, ..., я6nя0). я6 я0На основании я6 я0этого

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

рации.

е) Решите вашу систему при помощи Eureka.

 

 

 

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

я6ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

 

Экстремумы функции многих переменных. Задача линейного

программирования.

 

Цель работы.

я6ДДДДДДДДДДДДДДД

 

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

менных и решения задачи линейного программирования при помощи системы

Eя6uя0reka.

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

я6ДДДДДДДДДДДДДДДДДДДДДДДД

а) Пусть f(x)=я6fя0(xя41я0, ...,xя4nя0) - функция от n действительных пере-

менных, минимизируемая на некотором множестве Х. Если Х=Rя5nя0, то говорят

о задаче безусловной минимизации. В противном случае говорят о задаче

условной я6 я0минимизации. Как я6 я0и для функции я6 я0одной я6 я0переменной, я6 я0задача

максимизации функции f(x) сводится к задаче минимизации функя6-

ции g(x)=-f(x).

Из курса математики известно, что градиент функции f(x), опреде-

ляемый в точке а=(ая41я0, ..., ая4nя0) как вектор

 

я6Ъ я7 я6df(a) я7 я6df(a) ї

я6u(a) = іДДДДДДДД,...., ДДДДДДДДДі , указывает направление

я6А я7 я6dxя41я6 я7 я6dxя4nя6 Щ

 

наискорейшего я6 я0возрастанияя6 я0 функции f(x) в точке а. я6 я0Вектор -u(a), ная6-

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

функции f(x) в точке а. Точка а называется стационарной точкой функции

f(x), если в этой точке выполняются n равенств:

 

я7(

я72я6 df(a)

я72я6 ДДДДДДДД = 0

я72я6 я7 я6dxя41

я7*я6..............

я72

я72я6 df(a)

я72я6 ДДДДДДДД = 0

я79я4 я6dxя4n

 

Пусть f(x) дваждыя6 я0 непрерывно дифференциря6уемая0. Тогда достаточным

условием того, чтобы стационарная точка а была точкой локального мини-

нума, является положительная определенность матрицы:

 

я6Ъ я4 я6ї

я6і я4 я6і

я6і dя52я6f(a)я7 я6 dя52я6f(a)я7 я4 я6і

я6і ДДДДДДДД,.....,ДДДДДДДДя4 я6і

я4^я6 і dxя41я6dxя41я6 dxя41я6dxя4nя6 і

я6А(x) = і.........................і

я6і і

я6і я7 я6dя52я6f(a) я7 я6dя52я6f(a)я7 я6і

я6і я4ДДДДДДДДя6,.....,я4ДДДДДДДДя6 і

я6і dxя4nя6dxя41я6 dxя4nя6dxя4nя6 і

я6А Щ

я4^ ^

Матрица А называется матрицей Гессе. Напомним, что матрица Ая4 я0поя6-

я4^ ^

ложительно определена, если я6(Ax,x)>0я0 я6 я0прия6 xя7-я60я0 я6 я0и я6 (Ax,x)=0я0 я6 я0при я6 x=0,

 

где я6x=(xя41я6,...,xя4nя6)я5Tя6.

 

Сущесвует большое количество различных методов нахождения безус-

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

мера один из них. Этод метод называется методом наискорейшего спуска и

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

дов. Пусть хя5(k) я0- приближение к точке минимума х, а uя5(k)я0=u(xя5(k)я0) -зная6-

чение я5 я0градиента в точке хя5(k)я0. я5 я0Напомним еще раз, что в малой я5 я0окрест-

ности точки хя5(к)я0 направление наискорейшего убывания функции f(x) зада-

ется антиградиентом я5 я0-uя5(k)я0. Исходя из этого итерационную формулу мето-

дом наискорейшего спуска записывают в виде:

 

я6xя5(k+1)я6 = xя5(k) я6-я5 я7aя4kя6uя5(k) я4 я6 я4 я6(1)

 

Здесь - я7aя4кя0 шаг спуска, выбираемый из соображений минимизации функции

от одной скалярной переменной я7fя4kя6(я7aя6) = f(xя5(k) я6-я5 я7aя6uя5(k)я6) я0прия8 я5 я7aя0>0. я5 я0Т.е.

я6в я0качестве я7 aя4кя6 я0выбираемя6 я7 aя0 для которого я7 fя4kя6(я7aя4kя6) =я7 я6min я7fя4kя6(я7aя6)я0 я6при я0 я7aя6>0.

 

Рассмотрим применение этого метода для минимизации квадратичной

функции f(xя41я0, ..., xя4nя0)=f(x), где

 

я6n nя4 я6n

я61 ДДДДї ДДДДї я4 я6ДДДДї

я6f(x) = ДДД \ \ aя4ijя6xя4iя6xя4jя6 - \ bя4iя6xя4iя6 (2)

я62 / / я4 я6/

я6ДДДДЩ ДДДДЩ я4 я6ДДДДЩ

я6i=1 j=1 i=1

 

Коэффициенты ая4ijя0 являются элементами симметричной положительно

определенной матрицы А. Используя матричные обозначения, запишем f(x)

так:

я61

я6f(x) = ДДД(Ax,x) - (b,x) я4 я6 я4 я6(3)

я62

 

 

Вычислим градиент и матрицу Гессе для функции (2).

 

я6Ъ n n я4 я6ї'я4 Ъя6 n я4 я6 ї'

я6d f(x)я0 я61я0 я6і ДДДДДї ДДДДДї я4 я6ія4 ія6 ДДДДДї я4 я6 і

я6ДДДДДДДя0 я6= я4ДДДя6і \ \ aя4ijя6xя4iя6xя4jя6 ія4 я6-я4 і я6 \ bя4iя6xя4iя6 і

я6d xя4kя6 я0 я62 і / / я4 я6ія4 я6 я4 ія6 / я4 я6і =

я6і ДДДДДЩ ДДДДДЩ я4 я6ія4 ія6 ДДДДДЩ я4 я6і

я6А i=1 j=1 я4 я6Щxя4k Ая6 i=1 я4 я6 Щxя4k

 

я4(я6 где k=1,....,n)

 

я6Ъ n я4 я6 nя4 я6 nя4 я6 я4 я6ї'

я61я0 я6і ДДДДДї я4 я6 я4 я6 ДДДДДї я4 я6 ДДДДДї я4 я6і

я6=я0 я6ДДДі \ aя41jя6xя41я6xя4j я6+..+ \ aя4kjя6xя4kя6xя4jя6 +..+ \ aя4njя6xя4nя6xя4jя6і - bя4kя6 =

я62я0 я6і / я4 я6 я4 я6 / я4 я6/ я4 я6і

я6і ДДДДДЩ я4 я6 я4 я6ДДДДДЩ я4 я6ДДДДДЩ я4 я6і

я6А j=1 я4 я6 я4 я6j=1 j=1я4 я6 я4 я6Щxя4k

 

 

я61 Ъ я4 я6 я4 я6ї

я6= ДДДі aя41kя6xя41я6 +..+ (aя4k1я6xя41я6 +..+ 2aя4kkя6xя4kя6 +..+ aя4knя6xя4nя6) +..+ aя4nkя6xя4nя6 і - bя4kя6 =

я62 А я4 я6 я4 я6Щ

 

я61 Ъ я4 я6 я4 я6 я4 я6ї

я6= ДДДі (aя41kя6 + aя4k1я6)xя41я6 +..+ 2aя4kkя6xя4kя6 +..+ (aя4knя6 + aя4nkя6)xя4nя6 і - bя4kя6 =

я62 А я4 я6 я4 я6 я4 я6Щ

я6( т.к. матрица A симметричная )

я6n

я61 Ъ я4 я6 я4 я6ї я4 я6ДДДДДї

я6= ДДДі 2aя4k1я6xя41я6 +..+ 2aя4kkя6xя4kя6 +..+ 2aя4knя6xя4nя6 і - bя4kя6 = \ aя4kjя6xя4jя6 - bя4k

я62 А я4 я6 я4 я6Щ я4 я6 /

я6ДДДДДЩ

я6j=1

Окончательно получаем:

я6n

я6df(x) ДДДДДї

я6ДДДДДДД = \ aя4kjя6xя4jя6 - bя4k (4)

я6dxя4kя6 /

я6ДДДДДЩ

я6j=1

 

Тогда в матричной форме можно записать:

 

я6u(x) = Ax - b (5)

 

 

Дифференцируя обе части равенства (4) по хя4ря0 (р=1, ...n), получаемя4 я0:

 

я6dя52я6f(x)

я6ДДДДДДДДД = aя4pk

я6dxя4pя6dxя4k

я4^

Таким образом, матрица Гессе А(х) не зависит от х и равна А.

я6Тя0еперь благодаря формуле (5) формулу (1) можно записать в виде:

 

я6xя5(k+1)я6 = xя5(k)я6 -я7 aя4kя6(Axя5(k) я6-я5 я6b) (6)

 

Заметим, чтоя5 я6:

 

я61

я7fя4kя6(я7aя6) = ДДД(A(xя5(k) я6-я5 я7aя6uя5(k)я6),xя5(k)я6 -я7 aя6uя5(k)я6) -я5 я6(b,xя5(k)я6 -я7 aя6uя5(k)я6) =

я62

я6(*)

я61 я5 я6 я5 я61

я6= ДДД(Auя5(k)я6,uя5(k)я6 )я7aя52я6 - (uя5(k)я6,uя5(k)я6)я7aя6 + ДДД(Axя5(k)я6,xя5(k)я6) - (b,xя5(k)я6)

я62 я5 я62

 

я6( Доказательство формулы (*) см. в конце лабораторной работы N 3 )

 

Эта функция является квадратичной функцией параметрая8 я7aя0 и достига-

ет минимума при таком значениия8 я7aя0=я7aя4к,я0 для которого

 

я7fя4kя5'я6(я7aя4kя6) = (Auя5(k)я6,uя5(k)я6)я7aя4kя6 - (uя5(k)я6,uя5(k)я6) = 0

 

Таким образом, применительно к минимизации квадратичной функции

(3) метод наискорейшего спуска эквивалентен расчету по формуле (6),

где

я6(uя5(k)я6,uя5(k)я6)

я7aя4kя6 = ДДДДДДДДДДДДя5ДДДя6 (7)

я6(Auя5(k)я6,uя5(k)я6)

 

Имеет место следующая теорема.

 

я_Теорема

Пусть А - симметричная, положительно определенная матрица, и мини-

мизируется квадратичная функция (3). Тогда при любом выборе начального

приближения метод наискорейшего спуска (6), (7) сходится и верна сле-

дующая оценка погрешности

я7|\\\\\\\я6 Ъ їя5n

я7/ lя4maxя6 ія7 lя4maxя7 я6-я7 lя4minя6 і

я6і xя5(k)я6 - xя5* я6ія7 ,я6 я7/ я6ДДДДДДДД іДДДДДДДДДДДДДДДія5 і я6xя5(0)я6 - xя5* і

я7? lя4minя6 ія7 lя4maxя7 я6+я7 lя4minя6 і

я6А Щ

 

Здесь я7lя4minя7 я0и я7lя4maxя7 я0- минимальное и максимальное собственные зная6-

чения матрицы А.

б) Система Eureka решает задачи на поиск минимума (максимума)

функции я6 я0нескольких я6 я0переменных. При я6 я0этом могут быть заданы ограния6-

чения и удобные для поиска я6 я0начальные значения. я6 я0Для проверки я6 я0способя6-

ности системы Eureka решать оптимизационные задачи разработан ряд теся6-

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

функции Розенброка. я6Эя0та функция я6 я0двух переменных образует в трехмеря6-

ном пространстве " овраг ", затрудняющий поиск. Далее приводится зая6-

пись из окнa Edit, позволяющая минимизировать функцию Розенброка.

 

я6$ min (F)

я6f(x,y)=100*(y-x^2)^2+(1-x)^2

я6F=f(x,y)

я6x:=-1.2

я6y:=0

Начальное значение переменных далеки от решения х=y=1 и F=0.

 

Еще одна тестовая задача содержит ограничения.

 

я6$ min (F)

я6f(x,y)=(x-2)^2+(y-1)^2

я6F=f(x,y)

я6-x^2+y>=0

я6-x-y+2>=0

 

Точное решение: F=1, x=1, y=1.

При решении оптимизационных задач с ограничениями Eureя6kя0a выводит

в окне Solution сообщение о том, насколько полно удовлетворены ограни-

чения. В идеальном случае выводится 100 %. Если это число значительно

меньше чем 100 %, то это может служить признаком неточного нахождения

экстремума. Пока не существует программа, которая была бы способна ре-

шить любую оптимизационную задачу. Поэтому надо быть готовым к тому,

что Eureka может не справиться с предложенным ей заданием.

в) При решении ряда технологических и экономических проблем воз-

никает задача вида:

найти max Z(x) или min Z(x)

я6n

я6ДДДДДї

еслия6 Z(x) = \ cя4jя6xя4jя6 + cя40

я6/

я6ДДДДДЩ

я6j=1

при ограничениях

я6n

я6ДДДДДї

я6\ aя4ijя6xя4jя7 ,я6 bя4iя6 ( i=1,mя41я6 )

я6/

я6ДДДДДЩ

я6j=1

 

я6n

я6ДДДДДї

я6\ aя4ijя6xя4jя6 = bя4iя6 ( i=mя41я6+1,mя42я6 )

я6/

я6ДДДДДЩ

я6j=1

 

я6n

я6ДДДДДї

я6\ aя4ijя6xя4jя7 .я6 bя4iя6 ( i=mя42я6+1,m )

я6/

я6ДДДДДЩ

я6j=1

 

я6xя4jя7.я6vя4jя7.я60 я4 я6 я4 я6(я4 я6j=1,nя41 я6)

 

я6xя4jя7,я6wя4jя7,я60 я4 я6 я4 я6(я4 я6j=nя41я6+1,nя4 я6)

 

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

решения этих задач создан специальный метод, называемый симплекс-мето-

дом. Изучение задач линейного программирования является предметом спе-

циального курса, поэтому рассмотрим здесь часный случай. Пусть n=2

(т.е. Z(x)=ся41я0хя41я0+ся42я0хя42я0+ся40я0 ) и при этом заданы следующие ограничения

 

2

ДДДДДї

\я6 aя4ijя6xя4jя7 ,я6 bя4iя6 ( i=1,m )

/

ДДДДДЩ

я6j=1

 

я6xя4jя7.я6vя4jя7.я60 я4 я6 ( j=1,2 )

 

В этом случае решение задачи имеет наглядную геометрическую интя6еря0-

претацию. я6 я0Исходя из заданных ограничений я6 я0строится многоугольник до-

пустимых решений. Далее, для каждой точки плоскости функция Z(x)

принимает я6 я0фиксированное я6 я0значение Zя4тя0. я6 я0Множествоя6 я0всех я6 я0точек, в котоя6-

рых, я6 я0Z(x)=Zя4тя0 есть я6 пя0рямая я6 я0ся41я0хя41я0+ся42я0хя42я0+ся40я0=Zя4тя0 я6 я0перпендикулярная я6 я0вектору

я76

я6Cя0=(ся41я0,ся42я0), выходящему я6 я0из начала я6 я0координат. Если эту прямую предвия6-

гать я6 я0параллельно я6 я0самой я6 я0себе я6 я0по я6 я0направлению вектора с, то линейная

функция Z(x) будет возрастать, а в противоположном направлении - убыя6-

я76

вать. Пусть при движении прямой Z по направлению вектора я6Cя0 она впервые

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

Зафиксируем это положение прямой Z. В этой точке функция Z(x) примет

минимальное значение.

я76

При дальнейшем движении прямой Z по направлению вектора я6Cя0 она

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

шений. В этой точке функция Z(x) примет максимальное значение.

Вообще говоря, прямая Z может иметь с многоугольником допустимых

решений (на входе и на выходе ) либо одну общую точку (выршину многоу-

гольника), либо бесконечное множество точек (сторону многоугольника).

Если область допустимых решений незамкнута, то минимума и (или) макси-

мума Z(x) можем не быть совсем.

Рассмотрим типичную задачу линейного программирования. Пусть не-

кий цех с проя6ия0зводительностью 450 тонн продукта в месяц способен про-

изводить три разновидности этого продукта. Согласно договорам цех дол-

жен изготовить не менее 40-ка тонн первой, 60-ти тонн второй, 80-ти

тонн третьей разновидности продукта за месяц. Для изготовления этих

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

отношениях. Цех располагает следующими запасами материалов: первого -

100 тонн, второго - 150 тонн, третьего - 120 тонн и четвертого - 180

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

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

 

ЪДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДВДДДДДДДДДДДВДДДДДДДДДДДВДДДДДДДДДДДДї

ія6ДДїРасход матери-я0і і і і і

я6і АДДїала ная0 я6однуя0і і і і і

я6іРаз-я0 я6АДДїтоннуя0 я6ія0 I-го і II-го і III-го і IV-го і

ія6новидно-АДДДїя0 я6ія0 і і і і

ія6сти продуктаАДДДДя0і і і і і

ГДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДЕДДДДДДДДДДДЕДДДДДДДДДДДЕДДДДДДДДДДДДґ

іпервая і 0.3 тонны і 0.2 тонны і 0.4 тонны і 0.4 тонны і

ГДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДЕДДДДДДДДДДДЕДДДДДДДДДДДЕДДДДДДДДДДДДґ

івторая і 0.2 тонны і 0.1 тонны і 0.3 тонны і 0.6 тонны і

ГДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДЕДДДДДДДДДДДЕДДДДДДДДДДДЕДДДДДДДДДДДДґ

ітретья і 0.2 тонны і 0.5 тонны і 0.2 тонны і 0.3 тонны і

АДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДБДДДДДДДДДДДБДДДДДДДДДДДБДДДДДДДДДДДДЩ

 

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

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

мости я6 я0разновидностей я6 я0этого я6 я0продукта я6 я0равны: я6 я0первого - 13.5, второя6-

го -11.3я6 ия0 третьего - 8.2 денежные единицы за тонну.

Для решения приведенной выше задачи при помощи системы Eureka

нужно сделать следующую запись в окне Edit.

 

я6$ max (f)

 

я6Z(x,y,v)=13.5*x+11.3*y+8.2*v

 

я60.3*x+0.2*y+0.2*v я7,я6 100

я60.2*x+0.1*y+0.5*v я7,я6 150

я60.4*x+0.3*y+0.2*v я7,я6 120

я60.4*x+0.6*y+0.3*v я7,я6 180

я6xя7 . я640 : yя7 . я660 : vя7 . я680

я6x+y+v я7, я6450

 

я6f=Z(x,y,v)

 

После решения получаем следующие результаты.

 

я6f я7~я6 4538.9983 , x я7~я6 90.001006 , y я7~я6 119.99876 , v я7~я6 239.99985

 

я6x+y+v я7~я6 499.9996

 

я6Поcле подстановки получаем:

 

я60.3*x+0.2*y+0.2*v я7~я6 99.000023

я60.2*x+0.1*y+0.5*v я7~я6 150.00000

я60.4*x+0.3*y+0.2*v я7~я6 120.00000

я60.4*x+0.6*y+0.3*v я7~я6 179.99961

 

я_Вывод формулы (*)

 

я61

я6ДДД(A(x - я7aя6u),x -я7 aя6u) - (b,x -я7 aя6u) =

я62

я61 1

я6= ДДД(A(x -я7 aя6u),x) - ДДД(A(x - я7aя6u),я7aя6u) - (b,x) + (b,u)я7aя6 =

я62 2

я61 Ъ ї

я6= ДДДі (Ax,x) - (Au,x)я7aя6 - (Ax,u)я7aя6 +я5 я6(Au,u)я7aя52я6 і- (b,x) + (b,u)я7aя6 =

я62 А Щ

 

я6ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

Заметим,я6 я0что (Au,x)я6 я0=я6 я0(Ax,u). я6 я0Действительно,я6 я0(Auя6,я0x)я6 я0=я6 я0(я6uя0,я6Axя0)

я6т.к. я0А - симметричная матрицая6 и (u,Ax) = (Ax,u) по свойству скалярно-

я6го произведения .

я6ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

 

я61 Ъя5 ї

я6= ДДДі (Ax,x) + (Au,u)я7aя52 ія6 - (Ax,u)я7aя6 - (b,x) + (b,u)я7aя6 =

я62 Ая5 Щ

я6( т.к. u = Ax - b , то Ax = u + b )

 

я61 Ъя5 ї

я6= ДДДі (Ax,x) + (Au,u)я7aя52 і - я6(u + b,u)я7aя6 - (b,x) + (b,u)я7aя6 =

я62 Ая5 Щ

 

я61я7 я6Ъ ї

я6= ДДДі (Ax,x) + (Au,u)я7aя52я6 і - (u,u)я7aя6 - (b,u)я7aя6 - (b,x) + (b,u)я7aя6 =

я62 А Щ

 

я61 1

я6= ДДД(Au,u)я7aя52 -я6 (u,u)я7aя6 + ДДД(Ax,x) - (b,x) .

я62 2

 

я6Задание

я6ДДДДДДДДДДД

а) Составьте матрицу А для предложенной вам квадратичной функции.

Проверьте при помощи критерия Сильвестра положительную определенность

матрицы А. Найдите

я6(я7lя4maxя6 -я4 я7lя4minя6)

я6q = ДДДДДДДДДДДДДДД

я6(я7lя4maxя6 -я7 lя4minя6)

 

являющееся знаменателем геометрической прогрессии со скоростью которой

сходится я6 я0метод я6 я0наискорейшего я6 я0спуска. (Для этого составьте уравнение

я6det (A -я7 lя6E) = 0 и решите его используя процедуру я4 я6poly(x,aя4nя6,...,aя40я6)я4.

 

 

б) Придумайте пример задачи линейного программирования и решите

эту задачу при помощи системы Eureka. Измените коэффициенты целевой

функции и ограничения. Решите задачу заново. Придумайте трактовку по-

лученным результатам.

 

 

 

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

я4ДДДДДДДДДДДДДДДДДДДДДДДДД

 

Приближение функций. Вычисление определенных

интервалов. Решение дифференциальных уравнений.

 

я6Цель работы

я6ДДДДДДДДДДДДДД

 

Приобретение навыков вычисления определнных интегралов, реше-

ния диф. уравнений и приближения функций методом наименьших квад-

ратов при помощи системы Eureя6kя0a.

 

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

я6ДДДДДДДДДДДДДДДДДДДДДДДДД

 

I)я6 Вычисление определенных интегралов

я7\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Разобъем отрезок интегрирования [a,b] на отрезки [xя4i-1я0,xя4iя0]

точками a=xя40я0 ...

интегралов:

я6n xя4i

я6ДДДДї ДДДДїя7 !

я6I = \ Iя4iя6 = \я7 2я6 f(x) dx (1)

я6/ /я7 2

я6ДДДДЩ ДДДДЩя7 1

я6i=1 xя4i-1

 

я6Обозначим: fя4iя6=f(xя4iя6) , fя4i-1/2я6=f(xя4i-1/2я6)я4 ,я6 где xя4i-1/2я6=(xя4i-1 я6+ xя4iя6)/2

Шаг h=xя4iя0- xя4i-1я0 будем считать постоянным.

а) Заменим я6 я0приближенно я6 я0каждый я6 я0интеграл из формулы (1) пло-

щадью прямоугольника, основание я6 я0которого я6 я0отрезокя6 я0 [xя4i-1я0,xя4iя0], а вы-

сота равна fя4i-1/2я0. Тогда мы получим приближенное равенство:

 

я6n

я6ДДДДДї

я6I я7~я6 h \ fя4i-1/2я6 = Iя4пря6 я4 я6 (2)

я6/

я6ДДДДДЩ

я6i=1

 

Формула (2) называется составнойя6 я0 квадратной я6 я0формулойя6 я0 прямоу-

гольников.

б) Заменим приближенно каждый интеграля6 я0 изя6 я0 формулы (1)я6 я0 пло-

щадью я4 я0трапеции, стороны я4 я0которойя6 я4 я6 [xя4i-1я6,xя4iя6] , [xя4i-1я6,(xя4i-1я6,fя4i-1я6)] ,

я6[(xя4i-1я6,fя4i-1я6),(xя4iя6,fя4iя6)] ия0 я6[xя4iя6,(xя4iя6,fя4iя6)] .я0 При я6 я0этом мы получим приблия6-

женное равенство:я6

я6n

я6Ъ ДДДДДї ї

я6і fя40я6 + fя4nя6 \ fя4iя6 і

я6Iя7 ~я6 h іДДДДДДДДД + / і = Iя4тря6 (3)

я6і 2 ДДДДДЩ і

я6А i=1 Щ

 

Формула (3) называется составной квадратной формулой трапеций.

в) Заменим приближенно я4 я0каждый интеграл я4 я0из формулы (1) плоя6-

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

я6(xя4i-1я6,fя4i-1я6) , (xя4i-1/2я6,fя4i-1/2я6) я0и я6(xя4iя6,fя4iя6)я0. я6 я0Послея6 я4 я6 я0интегрированияя6 я4 я0и

соответствующих преобразований получается приближенное равентство:

 

я6n я4 я6 n-1

я6Ъ я4 я6 я4 я6 ДДДДДї я4 я6 ДДДДДї ї

я6hя0 я6і я4 я6 я4 я6 \ я4 я6 \ і

я6Iя7 ~я6 ДДД і fя40 я6+ fя4nя6 + 4 / fя4i-1/2я6 + 2 / fя4iя6 і = Iя4ся6 (4)

я66я0 я6і я4 я6 я4 я6ДДДДДЩ я4 я6 ДДДДДЩ і

я6А я4 я6 я4 я6i=1 я4 я6i=1 Щ

 

Формула (4) называется составной квадратной формулой Симпсона.

г) Пя6ря0иведенныя6ея0 выше способы вя5 я0ычисленияя5 я0 определенного интегра-

ла я5 я0дают достаточно хя5 я0орошую я5 я0точность. Погрешености я5 я0этих способов

таковы:

я6Mя42 я6(b - a) Mя42я6 (b - a)

я6і I - Iя4пр я6і я7,я6 ДДДДДДДДДДДДя4 я6hя52 я6 и і I - Iя4тря6 ія7 ,я6 ДДДДДДДДДДДД hя52я6 ,

я624 12

 

я6где Mя42я6 = m a x і fя5''я6(x) і

я5[a,b]

 

я6Mя44я6 (b - a)

я6і I - Iя4ся6 ія7 ,я6 ДДДДДДДДДДДДД hя54я6 , где Mя44я6 = m a x і fя5''''я6(x) і

я62880я5 [a,b]

 

д) С помощью системы Eureя6kя0a можно вычислять определенные интеграя6-

лы численным методом с контролем погрешности результата. Чем меньше

заданная погрешность, тем длинее я6 я0процесс вычислений.я6 я0 Далее привоя6-

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

интеграла:

я49

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

я72 /я5 я6 xя53

я72 /я5 я7\\\\\\\\\\я6 dx

я71 ?я6 я5 я6xя54я6 + 31

я57.3

 

я6( Запись в окне Edit )

 

я6y(x)=sqrt(x^3/(x^4+31))

я6z=integ(y(x),x,7.3,9)

 

После этого для получения решенияя6 я0 надо я6 я0поднятьсяя6 я0 в верхнюю

строку меню и активизировать пункт Solve.

Следующий я6 я0пример иллюстрирует заданиея6 я0 функции я6 я0пользователя,

содержащей я6 я0вычисление я6 я0опрделенного я6 я0интеграла. я6 я0В данном случае вы-

числяется я6 я0путь, пройденной объектомя6 я0с я6 я0постоянным ускорением. При

такой я6 я0записи я6 я0задачи я6 я0используя пункт меню Graph я6 я0можно я6 я0построить

график пройденного пути.

 

v(t)=7*t+5

s1=integ(v(t),t,0,4)

s(tp)=integ(7*t+5,t,0,tp)

 

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

задаются я6 я0функциия6 я0пользователя, тоя6 я0 нужно я6 я0необходимыея6 я0 функциональ-

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

ментво.я6 я0 В я6 я0противномя6 я0 случае могутя6 я0 возникатья6 я0 больше погрешности

из-за неучета особого статуса переменных.

Ся6 я0 помощьюя6 я0 системы я6 я0Eureя6kя0a я6 я0можно я6 я0вычислять и кратные интегралы.

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

уточнения я6 я0вычислений, заканчивающихя6 я0из-за я6ися0черпания лимитая6 я0времени.

 

Для вычисления кратных интегралов:

я46 8 я6 я42 4 6

я7! ! я6 я7! ! !

я72 2я6 eя5xyя6 dxdy ия7 я6 я72 2 2я6 xyz dxdydz

я71 1 я6 я71 1 1

я55 7.3 я6 я51 3 5

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

ция:

я6I=integ(integ(exp(x*y),x,7.3,8),y,5,6)

я6P=integ(x*integ(y*integ(z,z,1,2),y,3,4),x,5,6)

 

 

II) Приближение функций методом наименьших квадратов.

я7\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

а) Пусть я7 я0функция я7 я0y=f(x) задана я7 я0таблицей я7 я0приближенных значений

yя4iя7~я0f(xя4iя0),я7 я0i=0,1,...,nя4 я0полученных с ошибкой я7eя4iя0=yя4iя5*я0-yя4iя0, гдея6 yя4iя5*я6=f(xя4iя6)

Используем для аппроксимации функции f линейную модель:

 

я6yя7 я6=я7 Fя4mя6(x)я7 =я6 aя40я7fя40я6(x) + aя41я7fя41я6(x) +...+ aя4mя7fя4mя6(x)

 

Здесь я6 я7fя40я6(x),я7fя41я6(x),...,я7fя4mя6(x) я0- я6система фундаментальных функций,

я6aя40я6,aя41я6,...,aя4mя6 -я0 я6искомые я0параметры я6 я0модели, я6 я0являющиеся коэффициентами

обощенного многочленая7 Fя4mя6(x).

Теперь мы можем записать систему приближенных неравенств:

 

я6aя40я7fя40я6(xя40я6) + aя41я7fя41я6(xя40я6) +...+ aя4mя7fя4mя6(xя40я6) я7~я6 yя40

я6aя40я7fя40я6(xя41я6) + aя41я7fя41я6(xя41я6) +...+ aя4mя7fя4mя6(xя41я6) я7~я6 yя41

я6.......................................

я6aя40я7fя40я6(xя4nя6) + aя41я7fя41я6(xя4nя6) +...+ aя4mя7fя4mя6(xя4nя6) я7~я6 yя4n

 

я6ия0ли в матричном виде : Pa=y.

 

В я6 я0качестве я6 я0критерия я6 я0для я6 я0выбора я6 я0параметров я6 я0aя40я0,aя41я0,...,aя4m я0в

методе наименьших квадратов используется min S(a,y), где

 

я6nя0 я6Ъ m їя52

я6ДДДДї і ДДДДї і

я6S(a,y) = \ і \ aя4jя7fя4jя6(xя4iя6) - yя4iя6і , где a=(aя40я6,aя41я6,...,aя4mя6)

я6/ і / і

я6ДДДДЩ і ДДДДЩ і

я6i=0я0 я6А j=0 Щ

 

Простейшийя6 я0 способ я6 я0решения я6 я0этой задачи я6 я0состоит в использовании

необходимого условия экстремума я6функции S я0:

 

я6dS

я6ДДДД = 0 , k=0,1,...,n

я6daя4k

 

я6Вычисляя частные производные и меняя порядок суммирования при-

я6ходим к системе линейных алгебраических уравнений :

 

я6mя0 я6Ъ n я4 я6ї n

я6ДДДДДї і ДДДДДї я4 я6 і ДДДДДї

я6\ і \я7 fя4jя6(xя4iя6)я7fя4kя6(xя4iя6)і aя4jя6 = \я4 я6 yя4iя7fя4kя6(xя4iя6) , (k=0,1,...,n)

я6/ і / я4 я6 і я4 я6/

я6ДДДДДЩ і ДДДДДЩ я4 я6і я4 я6ДДДДДЩ

я6j=0я0 я6А i=0 я4 я6Щ i=0

 

которая я4 я0называется нормальной системой метода наименьшихя4 я0квадратов.

В матричном виде эту систему можно записать так:

 

я6Pя5Tя6Pa = Py я5 я6Обозначим:я5 я6 Pя5Tя6P = Г и Pя5Tя6y = b , тогда

 

я6Гa = b (5)

Искомые параметры я6aя40я6,aя41я6,...,aя4mя0 являются решении системы (5).

 

Еслия6 я0 при аппроксимациия6 я0 функции y=f(x) используетсяя6 я0 модель

g(x,a), я6 я0где g(x,a)я6 я0нелинейно зависит я6 я0от я6 я0параметров я6 я0aя40я0,aя41я0,...,aя4mя0,

то применение критерия наименьших квадратов приводит к задаче оп-

ределния искомых параметров из условия минимума функции

 

я6n

я6ДДДДДї Ъ я4 я6їя52

я6S(a,y) = \ і g(xя4iя6,a) - yя4iя6і

я6/ і я4 я6і

я6ДДДДДЩ А я4 я6Щ

я6i=0

Такаяя4 я0 задача я4 я0весьма трудна для решения и требуетя4 я0специальных

методов я4 я0минизации для я4 я0нахождения я4 я0параметров, однако я4 я0в некоторых

случаях я4 я0нелинейную задачу я4 я0можно я4 я0свести к я4 я0линейной. Пусть, напри-

мер, зависимость y от x ищется в виде y=aeя5bxя0, где a>0. я4 я0Логарифмируя

это я6 я0равенство, я6 я0 приходим я6 я0к я6 я0линейной я6 я0зависимости я6 я0lnя6(я0yя6)я0=lnя6(a)+bx

велечины я6 Yя0=lnя6(я0yя6) я0 отя6 я0 x.

б) Рассмотрим несколько примеров решения указанной выше я6 я0задачи в

системе Eureя6kя0a.

я_Пример1

Пусть имеется ряд точек я6 я0(xя41я0,yя41я0),(xя42я0,yя42я0),...(xя4nя0,yя4nя0) и надо я6 я0подоя6-

брать коэффициенты a и b линейной зависимости:

 

я6y(x)=a+bx т.е.я7 fя40я6(x)=1,я7 fя41я6(x)=x (6)

 

такими, чтобы я6 я0 прямая я6 я0y(x)я6 я0 прошла в "облаке" я6 я0точек я6 я0с я6 я0наименьшим

я6общим я0среднеквадратичным я6 я0отключением от них. Зависимость (6) приб-

лиженная я6 я0поэтому я6 я0вместо знака я6 я0точного равенства я6 я0надо использовать

знак :=.я6 я0 Чтобы я6 я0отдать системе я6 я0команду я6 ная0 решения методом наимень-

ших я6 я0квадратов я6 я0необходимо я6 я0указать я6 я0директиву $ substlevel=0. Пусть

координаты я6 я0заданных точек таковыя6 я0:я6 я0(7,4я6.я05),(9,7),(11,8),(15,9я6.я07),

тогда в окне Edit должна быть сделана следующая запись

 

f(x):=a+bя6*x

f(7)=4.5:f(9)=7:f(11)=8:f(15)=9.7

$ substlevel=0

 

После я6 я0этого дляя6 я0получения решенияя6 я0 я6ня0адо подняться я6 я0в верхнююя6 я0стороку

меню и активизировать пункт Solve.

я_Пример 2

Заданная линейная зависимость иммет более сложный вид:

 

y(x)=axя53я0+beя5xя0+cя6(1/x)я7 я6 я0 т.е. я7fя40я0(x)=xя53я0, я7fя41я0(x)=eя5xя0, я7fя42я0(x)=1/x

 

При этом записать в окне Edit будет иметь следующий вид:

 

f(x):=a*f1(x)+b*f2(x)+c*f3(x)

f1(x)=x^3я4 я0:я4 я0f2(x)=exp(x)я4 я0:я4 я0f3(x)=1/x

f(3)=7я4 я0:я4 я0f(4)=5.7я4 я0:я4 я0f(5)=4.7я4 я0:я4 я0f(6.3)=6.4

f(8.1)=7.54я4 я0:я4 я0f(9)=8.74

$ substlevel=0

 

я_Пример 3

Заданная я6 я0нелинейная я6 я0зависимостья6 я0имеетя6 я0вид:я6 я0y(x)=eя5tя6,я5 я6где t=axя5nя6+b

Ecли в окне Edit сделана запись:

f(x):=exp(a*x^n+b)

f(1)=1.49:f(2)=2.35:f(3)=4.26

f(4)=8.59:f(5)=19.01

$ substlevel=0

, то в качестве ответа будут получены значения:

a=0.25247859 я6, я0b=0.14432727 я6, я0 я6nя0=1.4951058

я6Cя0истемая7 я0 Eureя6kя0ca находит неизвестные параметры и дляя7 я0 более

сложных зависимостей например y(x)=aeя5-bxя0+ab.

Eще один выжный вид аппроксимационной зависимостия6 я0-я6 я0полиномальная

зависимость y(x)=aя4mя0xя5mя0+...aя41я0x+aя40я0. Количество пар я6заданя0ных точек должно

превышатья6 я0 m+1. Если я6 я0оно я6 я0равно я6 я0этой я6 я0велечине, то я6 я0реализуетсяя6 я0 не

регрессия, а обчная полиномиальная аппроксимация.

 

 

я6III) Решение дифференциальных уравнений.

я7\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

а) Система Eureя6kя0a я6 я0не приспособлена для я6 я0решения диф. уравнений.

Однако, в некоторых случаях система может решать задачу Кошя6ия0 я6 я0методом

Эя6йя0лера. При я6 я0этомя6 я0прийдетсяя6 я0 ограничитя6ья0ся несколькими (7-8) точками,

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

переменные и подставлять их друг в друга будут исчерпаны.я6 я0Отсутствие

в языке системы операторовя6 организации циклов усложняет задачу. Кроме

я6того переменные в системе Eureka переопределить нельзя, что иллюстри-

я6руется примером. Пусть в окне Edit записана приведенная ниже информа-

я6ция.

я6y=7

я6p(y)=sin(y)*exp(y)

я6p1=p(4)

я6y1=y

я6y=847

я6y2=y

я6При этом в окне Solution после решения появляются следующие зна-

я6чения переменных : y=7 , y1=7 и y2=7. Значение p1=p(4) будет вычис-

я6лено верно.

 

я6б) Приближенное решение задачи Коши методом Эйлера заключается

я6в приближенном решении диф. уравнения yя4xя5'я6=f(x,y(x)), удовлетворяющем

я6начальному условию y(xя40я6)=yя40я6. Сеточное решение задачи состоит в пост-

я6роении я4 я6таблицы я4 я6приближенных я4 я6значений я4 я6yя41я6,yя42я6,...,yя4n я6 я4 я6вя4 я6 точках

я6xя41я6,xя42я6,...,xя4nя6.я4 я6Чаще всего xя4iя6=xя40я6+ihя4 я6, i=1,2,...,n. Точки xя4iя6 называются

я6узлами сетки, a h - шагом сетки (h>0).

я6В методе Эйлера yя4i+1я6 вычисляется по формуле:

 

я6yя4i+1 я6=я4 я6yя4i я6+я4 я6hf(xя4iя6,yя4iя6) , i=0,1,.....

 

я6Этот метод относится к группе одношаговых методов, в которых для

я6расчета точки (xя4i+1я6,yя4i+1я6) требуется информация только о последней вы-

я6численной точке (xя4iя6,yя4iя6).

я6Метод имеет простую геометрическую интерпритацию. Предположим, что

я6известна точка (xя4iя6,yя4iя6) на искомой интегральной кривой. Тогда каса-

я6тельная к этой кривой, проходящая через точку (xя4iя6,yя4iя6) определяется

я6уравнением:

 

я6z(x)=yя4i я6+ yя4xя5'я6(xя4iя6)(x-xя4iя6) ,а т.к. я5 я6yя4xя5'я6(xя4iя6)=f(xя4iя6,yя4iя6) я4 я6ия4 я6 xя4i+1я6-xя4iя6=h ,

 

я6то z(xя4i+1я6) = yя4iя6+ hf(xя4iя6,yя4iя6)=yя4i+1

 

я6в) Запишем в качестве примера следующее диф. уравнение: yя5'я6-y = eя5x

я6с начальными условиями xя40я6=3 , y(xя40я6)=yя40я6=4eя53я6 , где eя7 ~я6 2.71828....

я6Точным решением этого диф. уравнения является функция я5 я6y = (x + 1)eя5xя6.

я6Выберем шаг сетки h = 0.05 . В этом случае для решения диф. уравне-

я6ния методом Эйлера в окне Edit должна быть сделана следующая запись:

 

я6f(x,y)=exp(x)+y

я6h=0.05 : x0=3 : y0=4*exp(3)

 

я6y1=y0+h*f(x0,y0) : x1=x0+h

я6y2=y1+h*f(x1,y1) : x2=x1+h

я6y3=y2+h*f(x2,y2) : x3=x2+h

я6y4=y3+h*f(x3,y3) : x4=x3+h

я6y5=y4+h*f(x4,y4) : x5=x4+h

я6y6=y5+h*f(x5,y5) : x6=x5+h

я6y7=y6+h*f(x6,y6) : x7=x6+h

 

 

я6Задание

я6ДДДДДДДДДДД

 

я6а) Найдите точное решение предложенного вам диф. уравнения.

я6б) Найдите при помощи системы Eureka сетечное решение

я6диф. уравнения методом Эйлера.

я6в) Получите приближенное решение диф. уравнения в аналитичес-

я6кой форме используя для этого предложенную вам аппроксимационную за-

я6висимость.

я6г) Определите площадь, заключенную между графиком точного и

я6графикомя0 я6приближенного решения на отрезке сеточного решения.

я6д) Определите площадь, заключенную между графиком точного ре-

я6шения и осью 0x на отрезке сеточного решения.

я6e) Определите в процентах отношение площади, вычисленной в

я6пункте (г), к площади, вычисленной в пункте (д).

 

 

Найти                      

Найти: 

  на сайте

 

Мои данные        

ICQ:179485297

E-mail:gsm11@inbox.ru

Реклама              

Здесь может быть ваша реклама

подробнее

Счетчики               

Rambler's Top100

 

Рейтинг@Mail.ru

 

TopCTO Компьютеры цены продажа

 

 

 

 

 

     

     

 

 

designed by gsm in 2003

Создатель и дизайн сайта Городков Сергей
 

Hosted by uCoz