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

БДЗ3 / gradient

.m
Скачиваний:
1
Добавлен:
30.05.2025
Размер:
862 б
Скачать
clc,clear

%fun = x.^2 + x*y + 2*y.^2 - a*x - b*y + c;
%diff_x = 2*x + y - a;
%diff_y = x + 4*y - b;

a = 6.1;
b = 11.8; 
c = 9.24; 
e = 0.1;

x = 3;
y = 4;
alpha = 1;

fun_value = x.^2 + x*y + 2*y.^2 - a*x - b*y + c;

while true
    
    grad_x = 2*x + y - a;
    grad_y = x + 4*y - b;
    
    
    if (abs(grad_x)<e && abs(grad_y)<e)
        break   
    end
    
    while true
        
        x_new = x - grad_x*alpha;
        y_new = y - grad_y*alpha;
        fun_new_value = x_new.^2 + x_new*y_new + 2*y_new.^2 - a*x_new - b*y_new + c;
        
        if fun_new_value<fun_value
            
            x = x_new;
            y = y_new;
            fun_value = fun_new_value;
            break
        end
        alpha = alpha/2;
        
         
    end
    
    
end

fun_value
x
y







Соседние файлы в папке БДЗ3