МИНОБРНАУКИ РОССИИ
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«Пензенская государственная технологическая академия»
(ПГТА)
Факультет «Институт образовательных технологий»
Кафедра «Прикладная математике и исследование операций в экономике»
Дисциплина «Дискретная математика. Методы оптимизации. Численные методы»
ОТЧЕТ
о лабораторной работе № 5
на тему «Безусловная минимизация функций нескольких переменных»
Выполнил: студент гр.11
Приходько Р.
Принял:
Пенза 2012г.
Цель работы: приобретение навыков решения задач безусловной минимизации функций нескольких переменных численными методами в Matlab.
Задание: Составить программу в системе Matlab (расширение файла *.m), реализующую заданный метод оптимизации.
№ варианта |
Функция |
Погрешность |
Метод оптимизации |
18 |
Метод градиентного спуска с постоянным шагом |
Порядок выполнения работы:
-
Текст программы.
clc
clear;
e=2.718;
%c помощью встроенной функции
ff=@(x) sqrt(2.*x(1).^2+x(2).^2)-e.^(x(1).^2 + (2.*x(2).^2))-x(1);
[Min1,Min2]=fminunc(ff,[0.1 0.1]);
disp('Минимум, найденный по встроенной функции: ')
disp(Min1(1))
%Метод градиентного спуска с постоянным шагом
% Значения коэффициентов
g = 0.097; % постоянная шага
d = 0.01; % дельта
% Начальная точка
x1 = 0.1;
x2 = 0.1;
k = 1; % Счетчик шагов
kmax = 100; % Предельное число шагов,
% задается для предотвращения зацикливания
% Массивы для хранения промежуточных координат
x1trace = [x1];
x2trace = [x2];
i = 2;
while k < kmax
% Спуск по обеим координатам сразу
gr1 = (-2*x1*eps^(x1^2+2*x2^2))+((2*x1)/sqrt(2*x1^2+x2^2))-1; %f'(x1)
gr2 = 2*x2*((1/sqrt(x2^2+2*x1^2))-4*eps^(2*x2^2+x1^2)); %f'(x2)
x1 = x1 + g*gr1;
x2 = x2 + g*gr2;
% Сохранение координат
x1trace(i) = x1;
x2trace(i) = x2;
i = i + 1;
% Проверка условия останова
if sqrt(gr1^2 + gr2^2) <= d;
break; % Выход из цикла в случае выполнения условия
end
k = k + 1;
end
disp('Минимум, найденный методом градиентного спуска с постоянным шагом:')
disp(x1)
xlswrite('lab5',x1,1,'A1')
-
Вывод результата, который совпадает с проверкой.
-
Просмотр результата в файле:
Вывод: приобретены навыки решения задач безусловной минимизации функций нескольких переменных численными методами в Matlab.