Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабы / 7

.doc
Скачиваний:
26
Добавлен:
30.04.2013
Размер:
103.94 Кб
Скачать

МИНИСТЕРСТВО РОССИЙСКОЙ ФЕДЕРАЦИИ ПО СВЯЗИ И ИНФОРМАТИЗАЦИИ Московский технический университет связи и информатики

Кафедра вычислительной математики и программирования

Численные методы и оптимизация Лабораторная работа №7 по теме: ”Одномерная оптимизация”

Выполнил: Востропятов Н. А.

Группа: УИ0301

Вариант: №9

Проверил: Митихин В. Г.

1. Условие.

2. Проведём исследование задания.

Исследование задания:

Определим отрезок унимодальности функции f(x). Практический критерий унимодальности функции требует непрерывности функции и выполнения условия при или неубывания .

Для проверки унимодальности вычислим

Функция при .

Таблица 1

x

3.5

3.6

3.7

3.8

3.9

4.0

4.1

4.2

4.3

4.4

4.5

3.492

3.747

3.967

4.148

4.285

4.376

4.417

4.407

4.344

4.225

4.053

На отрезке [3,5;4,5] функция возрастает, (), следовательно, функция y=f(x) унимодальная на этом отрезке.

Отрезок [3,5;4,5] – начальный отрезок неопределенности.

График функции:

3. Проведём ручной расчёт трёх итераций методом «золотого сечения».

.

a

b

α

β

f(α)

f(β)

b-a

0

3.5

4.5

3.882

4.118

-4.264

-4.419

1

1

3.882

4.5

4.118

4.264

-4.419

-4.373

0.618

2

3.882

4.264

4.028

4.118

-4.393

-4.419

0.382

3

4.028

4.264

4.118

4.174

-4.419

-4.415

0.236

4. Определим длину конечного отрезка (теоретическая величина погрешности), содержащую точку минимума

После 3-х итераций, пользуясь формулой , . Расчетная длина .

5. Программа. Язык – Паскаль.

Uses Crt;

Function f(x:real):real;

Begin

f:=x*sin(x+1)-cos(x-5);

End;

Var

a,b,d,E:real;

N:byte;

Begin

ClrScr;

D:=0.00005;

a:=3.5;

E:=0.0001;

b:=4.5;

N:=1;

WriteLn('N+1 a b f(a) f(b) b-a');

While (b-a)>=E Do

Begin

Write(N:2,' ');

Write(a:0:5,' ');

Write(b:0:5,' ');

Write(f(a):0:6,' ');

Write(f(b):0:6,' ');

Write(b-a:0:5,' ');

WriteLn;

If f((a+b-D)/2)<f((a+b+D)/2) Then

b:=(a+b+D)/2

Else

a:=(a+b-D)/2;

Inc(N);

End;

Write(N:2,' ');

Write(a:0:5,' ');

Write(b:0:5,' ');

Write(f(a):0:6,' ');

Write(f(b):0:6,' ');

Write(b-a:0:5,' ');

WriteLn;

Write('x=',(a+b)/2:0:6,' ','f(x)=',f((a+b)/2):0:5);

repeat until keypressed;

End.

Результат выполнения:

N+1 a b f(a) f(b) b-a

1 3.50000 4.50000 -3.492093 -4.052514 1.00000

2 3.99997 4.50000 -4.375983 -4.052514 0.50003

3 3.99997 4.25001 -4.375983 -4.382153 0.25004

4 4.12497 4.25001 -4.419813 -4.382153 0.12504

5 4.12497 4.18752 -4.419813 -4.411382 0.06255

6 4.12497 4.15627 -4.419813 -4.418174 0.03130

7 4.12497 4.14064 -4.419813 -4.419635 0.01567

8 4.12497 4.13283 -4.419813 -4.419885 0.00786

9 4.12887 4.13283 -4.419889 -4.419885 0.00396

10 4.12887 4.13088 -4.419889 -4.419897 0.00200

11 4.12985 4.13088 -4.419896 -4.419897 0.00103

12 4.13034 4.13088 -4.419897 -4.419897 0.00054

13 4.13058 4.13088 -4.419897 -4.419897 0.00029

14 4.13058 4.13076 -4.419897 -4.419897 0.00017

15 4.13058 4.13069 -4.419897 -4.419897 0.00011

16 4.13061 4.13069 -4.419897 -4.419897 0.00008

x=4.130654 f(x)=-4.41990

, .

6. Вычислим теоретическое число итераций.

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

- длина конечного отрезка после N итераций для метода дихотомии.

< E - точность достигнута, N>=15.

7. Решение задачи с помощью математического пакета MathCAD 12.

4

Соседние файлы в папке Лабы