⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 parab3p.m

📁 This folder contains all the codes based on Matlab Language for the book <《Iterative Methods for
💻 M
字号:
function lambdap = parab3p(lambdac, lambdam, ff0, ffc, ffm)% Apply three-point safeguarded parabolic model for a line search.%% C. T. Kelley, June 29, 1994%% This code comes with no guarantee or warranty of any kind.%% function lambdap = parab3p(lambdac, lambdam, ff0, ffc, ffm)%% input:%       lambdac = current steplength%       lambdam = previous steplength%       ff0 = value of \| F(x_c) \|^2%       ffc = value of \| F(x_c + \lambdac d) \|^2%       ffm = value of \| F(x_c + \lambdam d) \|^2%% output:%       lambdap = new value of lambda given parabolic model%% internal parameters:%       sigma0 = .1, sigma1=.5, safeguarding bounds for the linesearch%%% set internal parameters%sigma0=.1; sigma1=.5;%% compute coefficients of interpolation polynomial%% p(lambda) = ff0 + (c1 lambda + c2 lambda^2)/d1%% d1 = (lambdac - lambdam)*lambdac*lambdam < 0%      so if c2 > 0 we have negative curvature and default to%      lambdap = sigam1 * lambda%c2 = lambdam*(ffc-ff0)-lambdac*(ffm-ff0);if c2 >= 0    lambdap = sigma1*lambdac; returnendc1=lambdac*lambdac*(ffm-ff0)-lambdam*lambdam*(ffc-ff0);lambdap=-c1*.5/c2;if (lambdap < sigma0*lambdac) lambdap=sigma0*lambdac; endif (lambdap > sigma1*lambdac) lambdap=sigma1*lambdac; end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -