資源簡介
程序內是牛頓法,阻尼牛頓法和改進的阻尼牛頓法,采用matlab編程實現

代碼片段和文件信息
%阻尼newton法,f為函數x為變量init_val為初始值以列向量給出
function?[x_newfval]=damp_newton(fxinit_val)
if(nargin==2)
????init_val=rand(length(x)1);
end
iteration=100;
threshold=1e-12;
x_new=init_val;
syms?lambda
for?i=1:iteration
????delta_f=jacobian(f);
????hessen_f=jacobian(delta_f);
????delta_f=subs(delta_fxx_new);
????hessen_f=subs(hessen_fxx_new);
????if(norm(delta_f)) ????????break
????end
????d=inv(hessen_f)*delta_f‘;???????????
????f_lambda=subs(fxx_new+lambda*d);??????????%進行一維搜索
????[lambda_k~]=newton(f_lambdalambdarand);?????%尋找最優阻尼系數,若無則為
????x_new=x_new+lambda_k*d;?????????????????????%一般的newton法
end
fval=subs(fxx_new);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????719??2015-04-02?15:24??newton\damp_newton.m
?????文件????????136??2015-04-02?15:18??newton\main.asv
?????文件????????314??2015-04-02?15:27??newton\main.m
?????文件????????603??2015-04-02?15:23??newton\modified_newton.asv
?????文件????????643??2015-04-02?15:28??newton\modified_newton.m
?????文件????????459??2015-04-02?15:28??newton\newton.asv
?????文件????????461??2015-04-02?15:06??newton\newton.m
?????目錄??????????0??2015-04-02?15:13??newton
-----------?---------??----------?-----??----
?????????????????3335????????????????????8
評論
共有 條評論