2017-06-24 14 views
0

fsolveには、MaxFunEvalsを設定して、機能評価の総数を制限することができます。とにかく、反復ごとに機能評価の上限を設定できるのですか?fsolve FunEvals per iterations

私は反復ごとの関数評価を少なくしたいと考えています。

+0

あなたの実際の問題が各繰り返しの時間消費である場合は、話題にならないかもしれませんが、おそらく関連しています。考慮すべき他の要因があるかもしれません。コードの他の部分をベクトル化することを検討してください(まだない場合) –

答えて

-1

this example as given in the documentationに従うと、Func-countを最小化するように読み込まれます。 に直接にキャップを設定することは不可能です。すべてが実行できるのは、反復回数をMaxIterationsに制限するか、反復ごとの関数評価の数を制限することです(MaxFunctionEvaluations)。これの組み合わせはMaxIterations*MaxFunctionEvaluationsで、最大値はFunc-countになります。 documentation当たりとして

MaxIterations入力引数:許容反復の

最大数、正の整数。デフォルトは400です。 Tolerances and Stopping CriteriaおよびIterations and Function Countsを参照してください。

MaxFunctionEvaluations入力引数は言う:関数評価の

最大数は、正の整数を可能にしました。デフォルトは100*numberOfVariablesです。公差と停止基準と反復と関数の数を参照してください。

+0

私は反復回数を制限するのではなく、反復ごとの関数評価の数を制限しようとしています。あなたの質問で既に言及した 'MaxFunctionEvaluations'スイッチであるべきである質問 – kirikoumath

+0

@kirikoumathでこれが明確でない場合は、申し訳ありません。引用されたドキュメントをご覧ください。 – Adriaan

+0

の 'MaxFunctionEvaluations'がデフォルト値' MaxIterations = 10'に設定されていれば、最初の繰り返しで 'Func-count = 3457'が得られます。私の目標はこの価値を制限することです。 – kirikoumath