f(x) = 4*(1-x(1)).^2 .* exp(-x(1).^2 - (x(2)+1).^2) - ...
10*(x(1)/3 - x(1).^3 - x(2).^5) .* exp(-x(1).^2 - x(2).^2) - ...
(1/2) .* exp(-(x(1)+1).^2 - x(2).^2)
where -5 <= x(1) <= 5 , -3 <= x(2) <= 3
Я хочу, чтобы определить оптимальный x*
, которая максимизирует f(x)
с использованием наискорейшего спуска. Я нашел http://www4.ncsu.edu/~ctk/darts/steep.m, но я не могу его использовать. я не понимаю эту часть комментария:наискорейшего спуска, Matlab
% f = objective function,
% the calling sequence for f should be
% [fout,gout]=f(x) where fout=f(x) is a scalar
% and gout = grad f(x) is a COLUMN vector
- Как можно использовать эту функцию?
- Как изменить исходные условия?
- Как изменить размеры шага?
Я не уверен, что самый крутой спуск будет лучшим выбором здесь. Самый крутой спуск обычно используется для состояний с более чем одним измерением. Не могли бы вы объяснить, почему вы хотите использовать самый крутой спуск, а не какой-либо другой метод? он может пролить свет на вашу актуальную проблему ... – amit
его работа на дому, и я должен использовать крутой порядочный. –
Я подозреваю, что вы, как ожидается, будете выполнять самый крутой спуск самостоятельно. В противном случае это не очень поучительно. Пойдите, а затем обновите вопрос тем, что вы пробовали. – Nzbuu