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

ЛР1 / lab1_sechenie

.m
Скачиваний:
14
Добавлен:
14.12.2022
Размер:
952 б
Скачать
function [f_min, x_min] = lab1_sechenie(a,b,eps)
tau = (sqrt(5) - 1)/2;
a_start = a;
b_start = b;

x1 = a+(1-tau)*(b-a);
x2 = a + tau*(b-a);
f1 = myfun(x1);
f2 = myfun(x2);
counter = 2;
eps_n = (b-a)/2;

while eps_n>eps
if f1 >= f2
a = x1;
x1 = x2;
f1 = f2;
x2 = a+b-x2;
f2 = myfun(x2);
else
b = x2;
x2 = x1;
f2 = f1;
x1 = a+b-x1;
f1 = myfun(x1);
end
eps_n = tau*eps_n;
counter = counter + 1;
end

x_min = (a+b)/2;
f_min = myfun(x_min);
str=sprintf('Минимум функции на отрезке [%d; %d] - %3f, в точке %3f',a_start, b_start, f_min, x_min);
disp(str);
str = sprintf('Количество вычислений функции - %d', counter);
disp(str);

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