Оптимизация 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]
, Вы можете использовать этот фрагмент, чтобы написать свою общую целевую функцию.