Управление матрицами в Matlab с помощью fmincon - PullRequest
0 голосов
/ 27 февраля 2019

В настоящее время я пытаюсь использовать fmincon в Matlab.

Я могу заставить его работать правильно, но это происходит, когда я включаю манипуляции с матричными элементами, которые не удовлетворяют условию.

Как показано ниже

ub = 1.1;
lb = -1.2; 
aut = -0.25;

h = @(aut)eQ_Optim(aut);

  u = fmincon(h,aut, [], [], [], [], lb, ub)

Функция, которую я использую, выглядит следующим образом

                function [Maxim]   = eQ_Optim(aut); 

                 Data = [-0.23183483,-0.003274012;
                         -0.289945477,0.000282334;
                         -0.483591973,0.006588649;
                         -0.257735378,0.000887691;
                         -0.286463622,-0.003235662;
                         -0.453939127,0.004358216;
                         -0.196363243,0.004186609;
                         -0.209783591,0.001715187];


   Data(Data(:,1)<aut,2)=0

                     MDOnx=Data(:,2)+1;
                     MD_Cumx=cumprod(MDOnx,1);
                     Maxim = MD_Cumx(end)*-1


 end

Я пытаюсь заставить fmincon оптимизировать переменную 'aut', чтобы онамаксимизирует совокупную сумму правого столбца (Data (:, 2)).

для справки, вывод, который я получаю, равен

Начальная точка - локальный минимум, который удовлетворяет ограничениям.

Оптимизация завершена, потому что в начальной точке целевая функция не уменьшается в допустимых направлениях в пределах значения по умолчанию для допуска оптимальности, и ограничения удовлетворяются в пределах значения по умолчанию допуска допуска.

u = -0.250000000000000

Что, как вы можете видеть, это всего лишь мое первоначальное предположение, возвращаемое мне.

Я надеюсь, что всеЧисто.Я максимально упростила все.Это возможно?

1 Ответ

0 голосов
/ 01 марта 2019

Решением было использование fminbid с соответствующими интервалами

%%% https://uk.mathworks.com/help/matlab/ref/fminbnd.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...