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

ЛР2 / lab2_neuton

.m
Скачиваний:
14
Добавлен:
14.12.2022
Размер:
830 б
Скачать
clear
clc

syms x1 x2
y = 45*x1^2 - 88*x1*x2 + 45*x2^2 + 102*x1 + 268*x2 - 21;
dyx1 = diff(y, x1);
dyx2 = diff(y, x2);
H = hessian(y, [x1, x2]);
H_inv = inv(H);

eps=0.00001;
x=[1, -1];
iter_counter = 0;
value_counter = 0;

while (sqrt(subs(dyx1, {x1, x2}, x)^2+subs(dyx2, {x1, x2}, x)^2) > eps)
x = x - (subs(H_inv, {x1,x2}, x) * [subs(dyx1, {x1, x2}, x), subs(dyx2, {x1, x2}, x)]')';

value_counter = value_counter + 2;
iter_counter = iter_counter + 1;
end

x_min = x;
f_min = subs(y, {x1, x2}, x);

str = sprintf('Минимум функции %3f, в точке x1 = %3f, x2 = %3f',f_min, x_min(1), x_min(2));
disp(str);
str = sprintf('Количество вычислений - %d. Количество итераций метода - %d', value_counter, iter_counter);
disp(str);
Соседние файлы в папке ЛР2