• 大小: 3KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-20
  • 语言: Matlab
  • 标签: 牛顿法  

资源简介

程序内是牛顿法,阻尼牛顿法和改进的阻尼牛顿法,采用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


评论

共有 条评论