フィルターのクリア

lsqcurvefit answer upon termination?

2 ビュー (過去 30 日間)
Nicholas Ross
Nicholas Ross 2024 年 3 月 11 日
コメント済み: Nicholas Ross 2024 年 3 月 12 日
I'm curious about what answer lsqcurvefit is giving me when it terminates. When the program ends due to reaching number of iterations, does the answer (x) come from the last iteration or does it return the best answer based on previous iterations? By best I mean lowest first order optimality measure, step size, function tolerance size, etc.
  2 件のコメント
Torsten
Torsten 2024 年 3 月 11 日
x and fval come from the last iteration.
Nicholas Ross
Nicholas Ross 2024 年 3 月 11 日
@Torsten thanks for the response. Is there a way to change it to where it sets x and fval based on the lowest output of either first order optimality, step size, or function tolerance? For example if the 45th iteration showed the lowest stepsize, use the values at that iteration to set x

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

採用された回答

Matt J
Matt J 2024 年 3 月 11 日
編集済み: Matt J 2024 年 3 月 11 日
You can use a nested OutputFcn, like in this example,
to save the entire iteration history of x and resnorm values. You can then retrospectively pick the solution that you want from the whole iteration sequence.
You could also modify this example to save only the best-so-far x vector, rather than the whole history.
  5 件のコメント
Torsten
Torsten 2024 年 3 月 11 日
編集済み: Torsten 2024 年 3 月 11 日
The variable "resnorm" in the output from "lsqcurvefit" represents f(x).
Nicholas Ross
Nicholas Ross 2024 年 3 月 12 日
@Torsten thanks for this note. That actually cleared up another question I had.

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSolver Outputs and Iterative Display についてさらに検索

製品


リリース

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by