Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab1.popov.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
78.69 Кб
Скачать

6. Метод квадратичной интерполяции (метод Пауэлла)

Метод квадратичной интерполяции относится к последовательным стратегиям. Задается начальная точка и с помощью пробного шага находятся три точки так, чтобы они были как можно ближе к искомой точке минимума. В полученных точках вычисляются значения функции. Затем строится интерполяционный полином второй степени, проходящий через эти три точки. В качестве приближения точки минимума берется точка минимума полинома. Процесс поиска заканчивается, когда полученная точка отличается от наилучшей из трех опорных точек не более, чем на заданную величину.

Листинг программы:

x1=1;

delta=0.2;

eps1=0.003;

eps2=0.02;

f=@(x)5*x^2+1/x;

q=@(x,y)x^2-y^2;

w=@(x,y)x-y;

k=1;

i=0;

r=0;

while i~=1

if r~=100

x2=x1+delta;

f1=f(x1);

k=k+1;

f2=f(x2);

k=k+1;

if f1>f2

x3=x1+2*delta;

else

if f1<=f2

x3=x1-delta;

end;

end;

end;

f3=f(x3);

k=k+1;

q1=q(x2,x3);

q2=q(x3,x1);

q3=q(x1,x2);

w1=w(x2,x3);

w2=w(x3,x1);

w3=w(x1,x2);

r=0;

if f3<f2&&f3<f1

Fmin=f3;

xmin=x3;

else

if f1<f2&&f1<f3

Fmin=f1;

xmin=x1;

else

if f2<f3&&f2<f1

Fmin=f2;

xmin=x2;

end;

end;

end;

X=0.5*((q1*f1+q2*f2+q3*f3)/(w1*f1+w2*f2+w3*f3));

f0=f(X);

k=k+1;

if (w1*f1+w2*f2+w3*f3)==0

x1=xmin;

else

if abs((Fmin-f0)/f0)>eps1||abs((xmin-X)/X)>eps2

if X<=x3&&X>=x1

if X>=x1&&X<=x2

z=x2;

x2=X;

x3=z;

r=100;

else

if X>=x2&&X<=x3

x3=X;

r=100;

end;

end;

else

if X<x1||X>x3

x1=X;

r=0;

end;

end;

else

if abs((Fmin-f0)/f0)<eps1&&abs((xmin-X)/X)<eps2

xneiz=X;

i=1;

end;

end;

end;

k=k+1;

end;

xneiz

k

f(xneiz)

Результаты:

k = 5

xmin = 0.4640

fmin = 3.2317

Сводная таблица

Название метода

Координаты

минимума,

(xmin, fmin)

Количество

итерации,

k

Характеристика

относительного

уменьшения

начального

интервала

неопределённости,

R

Метод равномерного поиска

(0.4600, 3.2319)

24

0.0159

Метод деления интервала пополам

(0.4688, 3.2320)

8

0.0625

Метод

дихотомии

(0.4635, 3.2317)

9

0.0442

Метод золотого сечения

(0.4649, 3.2317)

12

0.0050

Метод

Фибоначчи

(0.4655, 3.2317)

9

0.0069

Метод квадратичной интерполяции

(0.4655, 3.2317)

5

-

Вывод

Данные методы оказались применимы на практике. Решения отличаются между собой не более чем на 0,0003 при нахождении fmin и . Если рассматривать методы с точки зрения скорости вычисления, то метод равномерного поиска – самый медленный (24 итерации), а метод квадратичной интерполяции – самый быстрый (5 итераций). У остальных же методов, количество итераций 8, 9, 12 и 13.

Блок-схема метода деления интервала пополам

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]