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

ЛР2 / lab2_fast_spusk

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

y = @(x) 45*x(1)^2 - 88*x(1)*x(2) + 45*x(2)^2 + 102*x(1) + 268*x(2) - 21;
dyx1 = @(x) 90*x(1) - 88*x(2) + 102;
dyx2 = @(x) 90*x(2) - 88*x(1) + 268;

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

while (sqrt(dyx1(x)^2+dyx2(x)^2)>eps) %proverka normbI
f = @(a)y(x-a*[dyx1(x), dyx2(x)]);
tmp = lab1_porazryad(f, 0, 10^(-7));
alpha = tmp(1);
x = x-alpha*[dyx1(x), dyx2(x)];

value_counter = value_counter + 2 + tmp(2);
iter_counter = iter_counter + 1;
end

x_min = x;
f_min = y(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