need help: optimization using fmincon in a simulink level-2 matlab s-function block
조회 수: 2 (최근 30일)
이전 댓글 표시
Hi,
I would like to express the following objective function in a simulink level-2 matlab s-function block using fmincon as solver:
f(x,y) = x*tan(y(k+1)) + c*(y(k+1)-y(k))
where k is the step time.
My problem is in the variable y, I can't express it to be able to use it in fmincon and, all my attempts so far have been unsuccessful.
Your help will be very important to me!
Thank you...
댓글 수: 0
답변 (1개)
Ameer Hamza
2020년 3월 11일
편집: Ameer Hamza
2020년 3월 11일
To use fmincon, the objective function must accept a single input variable, which can be a vector. So for your function, you can pass it to fmincon as
sol = fmincon(@(x) f(x(1), x(2)), ..... )
Note that the initial point x0 also need to be 1x2. The returned value will also be 1x2.
댓글 수: 5
Ameer Hamza
2020년 3월 11일
I am not sure whether fmincon can help in such a case. You may need to reformulate the optimization problem such that the value of the objective function can be evaluated just by using input variables.
참고 항목
카테고리
Help Center 및 File Exchange에서 Manual Performance Optimization에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!