Я пытаюсь минимизировать простую функцию стоимости в Matlab. Блок оптимизации имеет входные данные из других блоков в моделировании. Я пытался использовать coder.extrinsi c (), как показано ниже, но результат не правильный. Буду признателен за вашу помощь и комментарии.
function [y, x] = test(u)
coder.extrinsic('opt_problem') ;
y = 0 ;
x = 0 ;
[y, x] = opt_problem(u) ;
end
function [y, x] = opt_problem(u)
cost = @(z)(target(z, u)) ;
z = fmincon(cost,[0 0],[],[],[],[],[0;0],[1;1] ) ;
x = z(1) ;
y = z(2) ;
function r = target(z, u)
r = norm(u + u.*z(2) + z(1).^2) ;
end
end
Диаграмма simulink включена в рисунок. введите описание изображения здесь