모든 알고리즘 |
算法 |
“trust-region-dogleg” (디폴트값),“信赖域” ,“levenberg-marquardt” 중에서선택합니다。
算法 옵션은사용할알고리즘에대한기본설정을지정합니다。이는단지기본적인설정에불과합니다。信赖域알고리즘이라면비선형연립방정식이부족결정시스템이어서는안됩니다。다시말해방정식개수(有趣的 이반환하는F 의요소개가수)x 의길이보다크거나같아야합니다。마찬가지로trust-region-dogleg알고리즘이라면방정식개수가x 의길이와같아야합니다。fsolve 는선택한알고리즘을사용할수없는경우Levenberg-Marquardt알고리즘을사용합니다。알고리즘을선택하는방법에대한자세한내용은알고리즘선택하기항목을참조하십시오。
optimoptions 대신optimset 을사용하여알고리즘옵션을설정하려면다음과같이하십시오
算法 — 알고리즘을“信赖域” 대신“trust-region-reflective” 로설정합니다。
InitDamping- - - - - -算法 을셀형배열(예:{levenberg-marquardt, .005} )로설정하여초기Levenberg-Marquardt파라미터λ를설정합니다。
|
CheckGradients |
사용자제공도함수(목적함수또는제약조건의기울기)를유한차분도함수와비교합니다。真正的 또는假 (디폴트값)를선택할수있습니다。 optimset 의경우,이이름은DerivativeCheck 이고값은“上” 또는“关” 입니다。현재옵션이름과이전옵션이름항목을참조하십시오。
|
诊断 |
최소화하거나풀려는함수에대한진단정보를표시합니다。“上” 또는“关” (디폴트값)를선택할수있습니다。 |
DiffMaxChange |
유한 차분 기울기에 대한 변수의 최대 변화량입니다(양의 스칼라). 디폴트 값은Inf 입니다。 |
DiffMinChange |
유한차분기울기에대한변수의최소변화량입니다(양의스칼라)。디폴트값은0 입니다。 |
显示 |
표시수준입니다(반복 과정 표시참조):
“关” 또는“没有” 은출력값을표시하지않습니다。
“通路” 는각반복마다출력값을표시하고디폴트종료메시지를제공합니다。
“iter-detailed” 는각반복마다출력값을표시하고기술적인종료메시지를제공합니다。
“决赛” (디폴트값)은최종출력값만표시하고디폴트종료메시지를제공합니다。
“最终详细说明” 는최종출력값만표시하고기술적인종료메시지를제공합니다。
|
FiniteDifferenceStepSize |
유한차분에대한스칼라또는벡터스텝크기인자입니다。FiniteDifferenceStepSize 를벡터v 로 설정하는 경우 전향 유한 차분δ 는다음과같습니다。
δ= v *标志的(x) *马克斯(abs (x)、TypicalX);
여기서符号“(x) =符号(x) 입니다(단标志' (0)= 1 임)。중심유한차분은다음과같습니다。스칼라FiniteDifferenceStepSize 는벡터로확장됩니다。디폴트값은전향유한차분의경우sqrt (eps) 이고중심유한차분의경우eps ^ (1/3) 입니다。optimset 의경우,이이름은FinDiffRelStep 입니다。현재옵션이름과이전옵션이름항목을참조하십시오。
|
FiniteDifferenceType |
기울기를추정하는데사용되는유한차분으로,“前进” (디폴트 값) 또는“中央” (중심화됨)입니다。“中央” 2배은함수실행횟수가더많지만더정확합니다。 알고리즘은 두 유형의 유한 차분을 모두 추정하는 경우 범위를 준수하려고 노력합니다. 예를 들어, 범위 외부에 있는 점에서 실행되는 것을 방지하기 위해 전향 차분이 아니라 후향 차분을 사용할 수 있습니다. optimset 의경우,이이름은FinDiffType 입니다。현재옵션이름과이전옵션이름항목을참조하십시오。
|
FunctionTolerance |
함수값에대한종료허용오차로,양의스칼라입니다。디폴트값은1 e-6 입니다。허용오차와중지기준항목을참조하십시오。 optimset 의경우,이이름은托尔芬 입니다。현재옵션이름과이전옵션이름항목을참조하십시오。
|
FunValCheck |
목적함수값이유효한지여부를확인합니다。“上” 은목적함수가复杂的 ,Inf 또는南 값을반환하는경우에오류를표시합니다。디폴트값인“关” 는 오류를 표시하지 않습니다. |
MaxFunctionEvaluations |
허용되는최대함수실행횟수로,양의정수입니다。디폴트값은100 * numberOfVariables 입니다。허용오차와중지기준항목과반복횟수와함수실행횟수항목을참조하십시오。 optimset 의경우,이이름은MaxFunEvals 입니다。현재옵션이름과이전옵션이름항목을참조하십시오。
|
MaxIterations |
허용되는최대반복횟수로,양의정수입니다。디폴트값은400 입니다。허용오차와중지기준항목과반복횟수와함수실행횟수항목을참조하십시오。 optimset 의경우,이이름은马克西特 입니다。현재옵션이름과이전옵션이름항목을참조하십시오。
|
OptimalityTolerance |
1차최적성에대한종료허용오차입니다(양의스칼라)。디폴트값은1 e-6 입니다。1차최적성측정값항목을참조하십시오。 내부적으로,“levenberg-marquardt” 알고리즘은최적성허용오차(중지기준)1的军医 와FunctionTolerance 를 곱한 값을 사용하고OptimalityTolerance 는사용하지않습니다。 |
输出FCN |
각반복마다최적화함수가호출하는하나이상의사용자정의함수를지정합니다。함수핸들또는함수핸들셀형배열을전달합니다。디폴트값은없음([] )입니다。输出函数和绘图函数语法항목을참조하십시오。 |
PlotFcn |
알고리즘이 실행되는 동안 다양한 진행률 측정값을 플로팅합니다. 미리 정의된 플롯에서 선택하거나 사용자가 직접 작성할 수 있습니다. 내장 플롯 함수 이름, 함수 핸들 또는 내장 플롯 함수 이름이나 함수 핸들로 구성된 셀형 배열을 전달하십시오. 사용자 지정 플롯 함수의 경우, 함수 핸들을 전달하십시오. 디폴트 값은 없음([] )입니다。
“optimplotx” 는현재점을플로팅합니다。
'最佳打印功能计数' 는함수실행횟수를플로팅합니다。
“最佳普罗夫瓦尔” 은함수값을플로팅합니다。
“optimplotstepsize” 는스텝크기를플로팅합니다。
“optimplotfirstorderopt” 는1차최적성측정값을플로팅합니다。
사용자 지정 플롯 함수는 출력 함수와 동일한 구문을 사용합니다.优化工具箱的输出函数항목과输出函数和绘图函数语法항목을참조하십시오。 optimset 의경우,이이름은PlotFcns 입니다。현재옵션이름과이전옵션이름항목을참조하십시오。
|
SpecifyObjectiveGradient |
真正的 인경우,fsolve 는목적함수에대해사용자정의야코비행렬(有趣的 에서정의됨)또는야코비행렬정보(雅可比数 을 사용하는 경우)를 사용합니다.假 (디폴트값)인경우,fsolve 는유한차분을사용하여야코비행렬의근삿값을계산합니다。
optimset 의경우,이이름은雅可比矩阵 이고값은“上” 또는“关” 입니다。현재옵션이름과이전옵션이름항목을참조하십시오。
|
StepTolerance |
x 에대한종료허용오차로,양의스칼라입니다。디폴트값은1 e-6 입니다。허용오차와중지기준항목을참조하십시오。
optimset 의경우,이이름은TolX 입니다。현재옵션이름과이전옵션이름항목을참조하십시오。
|
TypicalX |
일반적인x 값입니다。TypicalX 의요소개수는시작점x0 의요소개수와같습니다。디폴트값은的(numberofvariables, 1) 입니다。fsolve 는기울기추정을위해유한차분을스케일링하는데TypicalX 를사용합니다。 trust-region-dogleg 알고리즘은스케일링행렬의대각항으로TypicalX 를사용합니다。
|
UseParallel |
真正的 인경우fsolve 는기울기를병렬로추정합니다。디폴트값假 로설정하면비활성화됩니다。병렬연산항목을참조하십시오。
|
信任区알고리즘 |
雅可比数 |
야코비 행렬의 곱셈 함수로, 함수 핸들로 지정됩니다. 특정 구조를 가진 대규모 문제의 경우, 이 함수는J 를실제로구성하지않고야코비행렬곱J * Y ,J ' * Y 또는J”* (J * Y) 를계산합니다。이함수의형식은다음과같습니다。
여기서动力系统 는J * Y (또는J ' * Y 나J”* (J * Y) )를계산하는데사용되는행렬을포함합니다。첫번째인수动力系统 는목적함수有趣的 이반환하는두번째인수와같아야합니다。예를들어다음과같습니다。
Y 는문제의차원과동일한개수의행을갖는행렬입니다。旗帜 는 계산해야 하는 곱을 결정합니다.
어느경우든J 가명시적으로구성되지는않습니다。fsolve 는动力系统 를사용하여선조건자를계산합니다。jmfun 에필요한추가파라미터의값을제공하는방법에대한자세한내용은추가파라미터전달하기항목을참조하십시오。
참고
fsolve 가有趣的 에서jmfun 으로动力系统 를전달하도록하려면“SpecificyObjectiveGradient” 가真正的 로설정되어야합니다。
유사한예제는稠密结构Hessian的最小化,线性等式항목을참조하십시오。 optimset 의경우,이이름은JacobMult 입니다。현재옵션이름과이전옵션이름항목을참조하십시오。
|
雅可比模式 |
유한차분을위한야코비행렬의희소성패턴입니다。有趣的(我) 가x(j) 에종속되는경우JacobPattern (i, j) = 1 을설정합니다。그렇지않은경우JacobPattern (i, j) = 0 을설정합니다。다시말해,∂有趣的(我) /∂x(j) ≠0이성립하는경우JacobPattern (i, j) = 1 을설정합니다。 雅可比模式 은有趣的 의야코비행렬J 를계산하는것이번거롭고有趣的(我) 가x(j) 에종속된다는사실은(조사를통해)확인할수있는경우에사용합니다。雅可比模式 을제공하는경우fsolve 는희소유한차분을통해J 의 근삿값을 계산할 수 있습니다.
최악의 경우, 구조를 알 수 없다면雅可比模式 을설정하지마십시오。이경우기본적으로雅可比模式 이1로구성된조밀행렬인것처럼동작합니다。그러면fsolve 가각반복마다비희소유한차분근삿값을계산합니다。이과정은대규모문제의경우시간이아주오래걸릴수있으므로희소성구조를확인하는것이일반적으로더좋습니다。 |
MaxPCGIter |
최대PCG(선조건적용켤레기울기)반복횟수로,양의스칼라입니다。디폴트값은马克斯(1楼(numberOfVariables / 2)) 입니다。자세한내용은방정식 풀이 알고리즘항목을참조하십시오。 |
PrecondBandWidth |
PCG에대한선조건자의상부대역폭으로,음이아닌정수입니다。디폴트값PrecondBandWidth 는Inf 이며,이는직접분해(촐레스키)가켤레기울기(CG)대신사용된다는것을의미합니다。직접분해는CG보다계산량이더많지만해에다가가는데있어더나은품질의스텝을생성합니다。대각선조건지정에서는PrecondBandWidth 를0 으로설정합니다(상부대역폭:0)。일부문제의경우,중간대역폭을사용하면PCG반복횟수가줄어듭니다。 |
SubproblemAlgorithm |
반복스텝이계산되는방식을결정합니다。디폴트값“分解” 은“重心” 보다더느리지만더정확한스텝을실행합니다。信赖域알고리즘항목을참조하십시오。 |
TolPCG |
PCG반복에 대한 종료 허용오차로, 양의 스칼라입니다. 디폴트 값은0.1 입니다。 |
Levenberg-Marquardt알고리즘 |
InitDamping |
Levenberg-Marquardt파라미터의초기값으로,양의스칼라입니다。디폴트값은1)依照 입니다。자세한내용은Levenberg-Marquardt방법항목을참조하십시오。 |
ScaleProblem |
的雅可比矩阵 을사용하면잘못스케일링된문제의수렴이향상될수도있습니다。디폴트값은“没有” 입니다。
|