How to use an optimization expression if in a function?
조회 수: 5 (최근 30일)
이전 댓글 표시
Hi everyone!
I'm new to Matlab and i'm trying to write a function that is used in a problem based optimization.
This is the code that i wrote:
function [array] = getmax (matrix)
row = size(matrix,1);
column = size(matrix,2);
array = optimexpr;
for i=1:1:row
maxr = 0;
for j=1:1:column
if matrix(i,j) >= maxr
maxr = matrix(i,j)
end
end
array(i,1) = maxr;
end
end
Matrix is an optimization expression (es. 4 row and 5 column)
Array is the optimization expression that i want to get as the result of the function. (in this example it should be 4 row 1 column with tha max value of each matrix's row).
If i run this code i get "Conversion to logical from optim.problemdef.OptimizationInequality is not possible" in the if line.
I read about the big-M method, but i can't apply that method to my problem. (There's a lot about the big-M method for constrain but not a lot for function).
Can someone help me? I think it's a very simple function but i'm a newbie :(
Thanks
댓글 수: 0
채택된 답변
Matt J
2020년 7월 17일
You cannot express such an operation through the problem-based framework. If you are trying to solve a minimax problem, then you should use fminimax()
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

