fmincon in for loop
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
hello, I am trying to use fmincon inside a for loop such as described in the following code:
for i=1:size(X)
Xd=[X(i);Y(i)];
opts = optimoptions('fmincon','Algorithm','sqp');
f= fmincon(@(x)objfun(x,u,l,c),x0,[],[],[],[]...
,[],[],@(x)confcn(x,u,l,c,Xd),opts);
FF(i)=f;
end
When i fixe Xd, without using for loop, it run greatly. But with for loop, it generate this error:"Subscripted assignment dimension mismatch".
have you some idea to advise me?
1 comentario
Star Strider
el 29 de Oct. de 2016
Yes!
If it runs correctly without the for loop, don’t use the for loop!
Respuestas (1)
Matt J
el 30 de Oct. de 2016
Editada: Matt J
el 30 de Oct. de 2016
it generate this error:"Subscripted assignment dimension mismatch".
You should be giving us more information than this (a copy/paste of the whole error message). MATLAB error messages will tell you specifically which line of code and which command is generating the error.
However, I assume the problem is in this line
FF(i)=f;
If f is a vector, you cannot stick it in a scalar location FF(i). Use FF(i,:) or FF(:,i) or whatever is appropriate to the shape of 'f' and the shape of the FF that you have pre-allocated.
0 comentarios
Ver también
Categorías
Más información sobre Solver Outputs and Iterative Display en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!