nlmpcmove too many input arguments
Afficher commentaires plus anciens
Hello, I'm using nlmpc to perform just one prediction step.
I create my nlmpc object like this.
deterministicController = nlmpc(2, 2, 1);
deterministicController.PredictionHorizon = L;
generate a few parameters in a loop and build the prediction models and costs based off of those
deterministicController.Model.StateFcn = @(x,u) epsilons(l) * fNonlinear(x, u, npap) ...
+ (1-epsilons(l)) * fLinear(x, u, npap, xBar);
deterministicController.Model.OutputFcn = @(x,u) x;
deterministicController.Optimization.CustomCostFcn = ...
@(X, U, data) sum( (...
[U(1:data.PredictionHorizon,data.MVIndex(1))'; X(2:data.PredictionHorizon+1,1:2)']...
- zRef) .^2 );
The problem is unconstrained. I then perform just one evaluation with
uStar = nlmpcmove(deterministicController, xm1, um1);
which outputs
Error using nonlinear
Too many input arguments.
Error in znlmpc_getZBounds (line 36)
f1 = hCostFcn(X0, U0, e0, userdata, runtimedata.Parameters{:});
Error in nlmpc/nlmpcmove (line 122)
[zLB, zUB] = znlmpc_getZBounds(coredata, runtimedata, userdata, handles.hCostFcn, z0);
By the way xm1 is 2x1, bm1 is scalar and fLinear, fNonlinear are correct (previously tested, outputting 2x1).
I can provide the rest of the code. Thank you.
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Model Predictive Control Toolbox dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!