Borrar filtros
Borrar filtros

alternative command to 'find'

1 visualización (últimos 30 días)
Ditiro Setlhaolo
Ditiro Setlhaolo el 15 de Abr. de 2014
Comentada: Ditiro Setlhaolo el 16 de Abr. de 2014
Hello, i am trying to declare this nonlinear constraint in opti toolbox using scip solver. I just want to ask if there is an alternative command for 'find'
nlcon3= @(x) [x(9*N+(find(x(9*N+1:10*N),1,'first')))* x(9*N+(find(x(9*N+1:10*N),1,'first'))+1)*x(9*N+(find(x(9*N+1:10*N),1,'first'))+2)*x(9*N+(find(x(9*N+1:10*N),1,'first'))+3)*x(9*N+(find(x(9*N+1:10*N),1,'first'))+4)];
nlrhs3 =1;
nle3 =1;
Thank you for your support.

Respuesta aceptada

Walter Roberson
Walter Roberson el 15 de Abr. de 2014
nlcon3= @(x) product(x((0:4) + x(9*N+(find(x(9*N+1:10*N),1,'first')));

Más respuestas (2)

Sean de Wolski
Sean de Wolski el 15 de Abr. de 2014
Instead of using an anonymous function, you could write that into its own function file and then only call find once, assign the output to a variable and use that variable a few times.
  1 comentario
Ditiro Setlhaolo
Ditiro Setlhaolo el 16 de Abr. de 2014
I have it as;
function y=nlcon(x)
y=prod(x((0:4) + x(9*N+(find(x(9*N+1:10*N),1,'first')))
end
but i still get the error "There was an error processing a constraint function into SCIP compatible form. Please examine the below error to correct your function: Undefined function 'find' for input arguments of type 'scipvar'. (Remember SCIP only supports a subset of MATLAB commands)"
Not sure about 'assign the output to a variable and use that variable a few times'.
Any further suggestions are humbly welcome. Ditiro

Iniciar sesión para comentar.


Ditiro Setlhaolo
Ditiro Setlhaolo el 15 de Abr. de 2014
Thank you for your suggestions good people. I wanted to find out if there is an equivalent command to 'find' that is compatible with opti toolbox scip solver since 'find' is not.
  2 comentarios
Walter Roberson
Walter Roberson el 15 de Abr. de 2014
I see no evidence that "find" is not compatible with opti toolbox. I do see evidence that it did not work the way you called it. It would have been easier on us if you had given us the same information you gave the OPTI forum in https://groups.google.com/forum/#!topic/opti-toolbox-forum/14YggFfG11s namely that you get an error
Undefined function 'find' for input arguments of type 'scipvar'.
and that
(Remember SCIP only supports a subset of MATLAB commands)
Rather than having us guess about what SCIP does support, you should post a link to that information.
Ditiro Setlhaolo
Ditiro Setlhaolo el 16 de Abr. de 2014
Thank you Walter for that observation, and yes it was first posted at the opti forum https://groups.google.com/forum/#!topic/opti-toolbox-forum/14YggFfG11s. Havent had a breakthrough yet hence trying this forum. Thank you also for the suggestion above. Ditiro

Iniciar sesión para comentar.

Categorías

Más información sobre 2-D and 3-D Plots 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!

Translated by