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

ЛР1 / lab1_neuton_rafson

.m
Скачиваний:
26
Добавлен:
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