【发布时间】:2017-06-24 12:40:03
【问题描述】:
在fsolve 中,您可以设置MaxFunEvals 来限制函数评估的总数。无论如何我可以设置每次迭代的函数评估次数限制吗?
我想减少每次迭代的函数评估。
【问题讨论】:
-
有点离题,但可能相关,如果您的实际问题是每次迭代的时间消耗。可能还有其他因素需要考虑。考虑对代码的其他部分进行矢量化(如果还没有)
标签: matlab optional-parameters
在fsolve 中,您可以设置MaxFunEvals 来限制函数评估的总数。无论如何我可以设置每次迭代的函数评估次数限制吗?
我想减少每次迭代的函数评估。
【问题讨论】:
标签: matlab optional-parameters
如果您关注this example as given in the documentation,则表示您想最小化Func-count。不可能直接对该参数设置上限,只能通过MaxIterations 限制迭代次数,或者限制每次迭代的函数评估次数,MaxFunctionEvaluations做。 MaxIterations*MaxFunctionEvaluations 的组合给出了 Func-count 可以达到的最大值。
MaxIterations 输入参数根据 documentation:
允许的最大迭代次数,一个正整数。默认值为
400。请参阅Tolerances and Stopping Criteria 和Iterations and Function Counts。
MaxFunctionEvaluations 输入参数说:
允许的最大函数评估次数,一个正整数。默认值为
100*numberOfVariables。请参阅容差和停止条件以及迭代和函数计数。
【讨论】:
MaxFunctionEvaluations 开关,请参阅引用的文档。
MaxFunctionEvaluations 设置为默认值MaxIterations = 10,我在第一次迭代时仍然得到Func-count = 3457。我的目标是限制这个值。
MaxFunctionEvaluations。