Я хочу использовать PSO в следующей структуре:
lb = [-10,-15];
ub = [15,20];
options = optimoptions('particleswarm','SwarmSize',100,'HybridFcn',@fmincon);
rng default % For reproducibility
nvars = 2;
x = particleswarm(fun,nvars,lb,ub)
Где веселье сохраняется в другом скрипте со следующей структурой
function y = fun(x)
y = x(1)*exp(-norm(x)^2);
end
Но это не работает. Я вижу, что PSO работает, если я сохраняю веселье в одном и том же коде:
lb = [-10,-15];
ub = [15,20];
fun = @(x)x(1)*exp(-norm(x)^2);
options = optimoptions('particleswarm','SwarmSize',100,'HybridFcn',@fmincon);
rng default % For reproducibility
nvars = 2;
x = particleswarm(fun,nvars,lb,ub)
Но это не то, что я ищу. Я ищу применение роя в функции, сохраненной в другом скрипте. Как я мог заставить PSO работать в этом смысле?