Реферат: Одномерная оптимизация функций методом золотого сечения

plot(x,f(x),'or'); text(x,f(x),'X_{max}','FontSize',15);

Б. Программа вычисления минимума:

functionMinimum(a,b,eps)

%Minimum(a,b,eps) функция нахождения минимума функции f(x)

% методом "золотого сечения" на отрезке [a, b] с точностью eps.

% Функция f(x) задаётся в M-файле, находящимся в той же дирекктории.

% (!) Для правильной работы функции необходимо, чтоб a<b и

% искомое значение было б единствено на [a, b].

k1=(sqrt(5)-1)/2; k2=1-k1;

x1=k1*a+k2*b; x2=k2*a+k1*b;

A=f(x1); B=f(x2);

while 1

if A<B

b=x2;

if b-a<eps break;

else x2=x1; B=A; x1=k1*a+k2*b; A=f(x1);

end;

else

a=x1;

if b-a<eps break;

else x1=x2; A=B; x2=k2*a+k1*b; B=f(x2);

end;

end;

end;

x=(a+b)/2;

disp(sprintf('%s %.15f','Минимумфункции f(x): x_min = ',x));

3.2 Руководство программиста

Запускается файл Example.m, она вызывает 2 функции максимум и минимум. Функция максимум вычисляет максимум В функцию максимум передаётся промежуток, в которой нужно вычислить максимум…В первых строках строится график заданной функции. Цикл while – бесконечный цикл. Он останавливается только, если у нас погрешность вычисленного значения меньше заданного eps. Потом задаётся точность результата (сколько цифр после запятой) и формат вывода.

Функция минимум вычисляет минимум… В функцию минимум передаётся промежуток, в которой нужно вычислить минимум … Цикл while – бесконечный цикл. Он останавливается только, если у нас погрешность вычисленного значения меньше заданного eps. Потом задаётся точность результата(сколько цифр после запятой) и формат вывода.


К-во Просмотров: 383
Бесплатно скачать Реферат: Одномерная оптимизация функций методом золотого сечения