- v is the value assigned to the optimoptions parameter FiniteDifferenceStepSize.
- TypicalX is another optimoptions parameter whose default is a vector of ones.
- x is the current vector of unknown optimization variables (you seem to be calling it u).
Explanation for formula calculating step size for finite difference used in fmincon
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hainan Wang
el 10 de Abr. de 2021
When I view the page of ‘fmincon’, one option in optimset is ‘FiniteDifferenceStepSize’. The descriptions are copied below:
FiniteDifferenceStepSize to a vector v, the forward finite differences delta are
delta = v.*sign′(x).*max(abs(x),TypicalX);
where sign′(x) = sign(x) except sign′(0) = 1. Central finite differences are
delta = v.*max(abs(x),TypicalX);
What's the meaning of v, x and typicalX in formula?
For example, I want to calculate the step size ‘delta’ for obtaining the gradient of objective function J with respect to variables u_i by forward finite difference method, i.e., for forward finite difference, partial J/partial u_i= [J(u1,u2,…,u_i + deltau_i,…, uend)-J(u1,u2,...,u_i,...,uend)]/deltau_i. I guess 'v' in formula is the u vector [u1, u2,...,uend]?? But what does x and TypicalX mean?
Thank you in advance!
0 comentarios
Respuesta aceptada
Matt J
el 10 de Abr. de 2021
Editada: Matt J
el 11 de Abr. de 2021
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Solver Outputs and Iterative Display en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!