alternative command to 'find'
1 回表示 (過去 30 日間)
古いコメントを表示
Ditiro Setlhaolo
2014 年 4 月 15 日
コメント済み: Ditiro Setlhaolo
2014 年 4 月 16 日
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.
0 件のコメント
採用された回答
Walter Roberson
2014 年 4 月 15 日
nlcon3= @(x) product(x((0:4) + x(9*N+(find(x(9*N+1:10*N),1,'first')));
0 件のコメント
その他の回答 (2 件)
Sean de Wolski
2014 年 4 月 15 日
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.
Ditiro Setlhaolo
2014 年 4 月 15 日
2 件のコメント
Walter Roberson
2014 年 4 月 15 日
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.
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!