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

ЛР1 / lab1_neuton_rafson

.m
Скачиваний:
14
Добавлен:
14.12.2022
Размер:
784 б
Скачать
function [x_min, f_min] = lab1_neuton_rafson(eps, f, x_start)
syms x;
f_diff1 = diff(f);
f_diff2 = diff(f_diff1);
f_diff_x = double(subs(f_diff1, x, x_start));

while abs(f_diff_x) > eps
x_tau = x_start - (double(subs(f_diff1, x, x_start)) / double(subs(f_diff2, x, x_start)));
tau = double(subs(f_diff1, x, x_start))^2 / ( double(subs(f_diff1, x, x_start))^2 + double(subs(f_diff1, x, x_tau))^2 );
x_start = x_start - tau*(double(subs(f_diff1, x, x_start)) / double(subs(f_diff2, x, x_start)));
f_diff_x = double(subs(f_diff1, x, x_start));
end

x_min = x_start;
f_min = subs(f, x, x_min);
str=sprintf('Минимум функции - %3f, в точке %3f',f_min, x_min);
disp(str);

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