Оптимизация Matlab: целевая функция с зависимой переменной решения

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

Sum [I * (x(i) - x(i-1) + lo(i) - g(i)) * p(i)] 

Обратите внимание, что переменная решения - это только x(i), а x(i-1) - это значение, полученное на предыдущем этапе оптимизации. Я понятия не имею, как написать эту целевую функцию. Должен ли я использовать функцию обработчика? Спасибо

1 ответ

Возможно, это то, что вы спрашиваете?

Представьте, что у вас есть вектор 3 на 1 x.

       [x_1
  x =   x_2
        x_3]

и вы хотите вычислить:

      [x_1         [0
  y=   x_2    -     x_1
       x_3          x_2]

Вы можете сделать это в Matlab с помощью кода:

y = x - [0;x(1:end-1)];

это работает, так как x(1:end-1) будет ссылаться на [x_1; x_2], Вы можете использовать этот фрагмент, чтобы написать свою общую целевую функцию.

Другие вопросы по тегам