How do I minimise a function that has a vector output?

3 ビュー (過去 30 日間)
Matt Lilley
Matt Lilley 2018 年 7 月 6 日
編集済み: Stephen23 2018 年 7 月 14 日
Hello. I have a function with six input angles, and outputs a 1x6 vector. The plan is to subtract this from another 1x6 vector to make an "error" vector to minimise. I understand from the literature that fminsearch and similar functions all have a scalar output. Basically, I would like to know if there is a function that changes the input angles to minimise all six elements in the output error vector? Thanks!

回答 (1 件)

Stephen23
Stephen23 2018 年 7 月 6 日
編集済み: Stephen23 2018 年 7 月 6 日
"I would like to know if there is a function that changes the input angles to minimise all six elements in the output error vector?"
Add weighting to the error values if required (e.g. square the values), then sum them. Minimize the sum. Any "minimizing of the vector" will ultimately be exactly equivalent to this, so that is the solution. You could use lsqnonlin (which requires a vector output from the cost function), but note that this implicitly sums the squares of the vector, so it amounts to exactly the same thing.
  5 件のコメント
Matt Lilley
Matt Lilley 2018 年 7 月 9 日
Something like this I guess: https://uk.mathworks.com/help/gads/pareto-front-for-two-objectives.html
Stephen23
Stephen23 2018 年 7 月 13 日
編集済み: Stephen23 2018 年 7 月 14 日
"The "minimisation" I have in mind is the process of finding the values of the variables/unknowns such that the values in ALL elements in the array are the smallest."
Add weighting as required. Sum the squares, or use min. Minimize that scalar. It amounts to exactly the same thing (which is why minimizing a scalar is all you need).

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMathematics についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by