Лабы / 7
.docМИНИСТЕРСТВО РОССИЙСКОЙ ФЕДЕРАЦИИ ПО СВЯЗИ И ИНФОРМАТИЗАЦИИ Московский технический университет связи и информатики
Кафедра вычислительной математики и программирования
Численные методы и оптимизация Лабораторная работа №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.

