精华内容
下载资源
问答
  • 使用非线性共轭梯度法求解优化问题,使用matlab编程求解,是最优化方向的基本代码
  • 用精确线搜索的共轭梯度法,求问题的极小点
  • 使用MATLAB编程实现共轭梯度法
  • 优化方法的共轭梯度法Matlab代码,有需要的可以来下载哦!
  • matlab实现了牛顿差分改进后得到的共轭梯度算法,输入多元函数的系数矩阵,即可求出函数的极值
  • matlab共轭梯度法

    2020-12-24 20:19:39
    适合初学用matlab编写共轭梯度法
  • MATLAB实现共轭梯度法

    2018-04-17 21:17:59
    MATLAB实现共轭梯度法MATLAB实现共轭梯度法MATLAB实现共轭梯度法
  • 优化牛顿法速下降法共轭梯度 法matlab代码 作者 日期 2 牛顿法 迭代公式 (k1) k 2 (k) 1 (k) x x [ f (x )] f (x ) Matlab 代码 function [x1,k] =newton(x1,eps) hs=inline(x-1^4+y^2; 写入函数 ezcontour(hs,[-10 ...
  • 共轭梯度法matlab

    2021-05-21 17:11:34
    共轭梯度法 建立frcg.m文件 function [x,val,k]=frcg(fun,gfun,x0) %功能:用FR共轭梯度法求解无约束问题:min f(x) %输入:x0是初始点,fun,gfun分别是目标函数和梯度 %输出:x,val分别是近似最优点和最优值,k是...

    共轭梯度法
    建立frcg.m文件
    function [x,val,k]=frcg(fun,gfun,x0)
    %功能:用FR共轭梯度法求解无约束问题:min f(x)
    %输入:x0是初始点,fun,gfun分别是目标函数和梯度
    %输出:x,val分别是近似最优点和最优值,k是迭代次数
    maxk=5000; %最大迭代次数
    rho=0.6;sigma=0.4;
    k=0; epsilon=1e-4;
    n=length(x0);
    while(k<maxk)
    g=feval(gfun,x0); %计算梯度
    itern=k-(n)*floor(k/(n));
    itern=itern+1;
    %计算搜索方向
    if(itern==1)
    d=-g;
    else
    beta=(g’*g)/(g0’g0);
    d=-g+beta
    d0; gd=g’d;
    if(gd>=0.0)
    d=-g;
    end
    end
    if(norm(g)<epsilon),break;end %检验终止条件
    m=0;mk=0;
    while(m<20)%Armijo搜索
    if(feval(fun,x0+rhom*d)<feval(fun,x0)+sigma*rhom
    g’d)
    mk=m;break;
    end
    m=m+1;
    end
    mk=m;
    x0=x0+rho^mk
    d;
    val=feval(fun,x0);
    g0=g; d0=d;
    k=k+1;
    end
    x=x0;
    val=feval(fun,x);

    展开全文
  • 最优化共轭梯度法matlab代码实现,可以用于求解非线性方程的解非约束性最优化问题
  • 最优化算法之共轭梯度算法求解非线性规划问题,代码运行稳定
  • 共轭梯度法matlab程序

    2009-04-14 00:43:10
    共轭梯度法matlab程序 function x = cg(A,b) tol=1e-10; r = b + A*b; w = -r; z = A*w; s = w'*z; t = (r'*w)/s; x = -b + t*w; for k = 1:numel(b); r = r - t*z; if( norm(r) ) return; end B = (r'*z)/s; ...
  • 使用共轭梯度法求解 Ax=b。 矩阵 A 应该是对称的和正定的。 用法(在 m 文件末尾提供示例): x=cgm(A,b); 如果矩阵稀疏,值得一试: x=cgm(稀疏(A),b);
  • 共方方法matlab代码实现python中的原始SVM实现 该项目是 Matlab Primal SVM 的 Python 端口 - Olivier ...它可以有效地处理非常大的...共轭梯度求解器 - 更适合大型和稀疏问题 代码 抢代码 - Github - 在 PLON 运行代码 -
  • 共轭梯度法中CD(Dixon)法的 MATLAB代码
  • FR共轭梯度法 matlab

    千次阅读 2018-06-28 15:44:00
    % FR共轭梯度法 function sixge x0=[1,0]'; [x,val,k]=frcg('fun','gfun',x0) end function f=fun(x) f=100*(x(1)^2-x(2))^2+(x(1)-1)^2; end function g=gfun(x) g=[400*x(1)*(x(1)^2-x(2))+2*(x(1...
    % FR共轭梯度法
    function sixge
    x0=[1,0]';
    [x,val,k]=frcg('fun','gfun',x0)
    end
    
    function f=fun(x) 
    f=100*(x(1)^2-x(2))^2+(x(1)-1)^2; 
    end
    
    function g=gfun(x) 
    g=[400*x(1)*(x(1)^2-x(2))+2*(x(1)-1), -200*(x(1)^2-x(2))]'; 
    end
    
    
    function [x,val,k]=frcg(fun,gfun,x0) 
    maxk=5000; %最大迭代次数 
    rho=0.6;sigma=0.4; 
    k=0; epsilon=1e-4; 
    n=length(x0); 
    while(k<maxk) 
        g=feval(gfun,x0); %计算梯度
        itern=k-(n+1)*floor(k/(n+1)); 
        itern=itern+1; %计算搜索方向 
        if(itern==1) 
            d=-g; 
        else
            beta=(g'*g)/(g0'*g0); 
            d=-g+beta*d0; 
            gd=g'*d; 
            if(gd>=0.0) 
                d=-g; 
            end
        end
        if(norm(g)<epsilon), break; end
        %检验终止条件 
        m=0; mk=0; 
        while(m<15) %Armijo搜索 
            if(feval(fun,x0+rho^m*d)<feval(fun,x0)+sigma*rho^m*g'*d) 
                mk=m; break; 
            end
            m=m+1;
        end
        x0=x0+rho^mk*d; 
        val=feval(fun,x0); 
        g0=g; d0=d; 
        k=k+1;
    end
    x=x0; 
    val=feval(fun,x);
    end
    

      

    转载于:https://www.cnblogs.com/wander-clouds/p/9238998.html

    展开全文
  • 正定二次函数的共轭梯度法matlab实现 1、算法过程 2、matlab实现 function [X,min_f]=minGRAD(fx,var,x0) %%%输入目标函数(正定二次函数)fx,变量var,初始点x0; %%%采用共轭梯度法计算目标函数的极小值; %%%输出...

    正定二次函数的共轭梯度法matlab实现

    1、算法过程

    在这里插入图片描述

    2、matlab实现

    function [X,min_f]=minGRAD(fx,var,x0)
    %%%输入目标函数(正定二次函数)fx,变量var,初始点x0;
    %%%采用共轭梯度法计算目标函数的极小值;
    %%%输出极小值点X,极小值min_f.
    j=jacobian(fx,var); 
    G=double(jacobian(j,var));
    g0=(double(subs(j,var,x0)))';
    d=-g0;
    x0=x0';
    k=0;
    eps=10^(-5);
    judge=1;
    while judge==1
        if  norm(g0,2)<eps
            break
        end
        lamda=g0'*g0/((d'*G)*d);
        x1=x0+lamda*d;
        g1=(double(subs(j,var,x1')))';
        beta=g1'*g1/(g0'*g0);
        d=-g1+beta*d;
        x0=x1;
        g0=g1;
        k=k+1;
    end
    X=double(x0);
    min_f=double(subs(fx,var,x0'));
    

    3、实例检验

    在这里插入图片描述

    展开全文
  • 最优化作业 共轭梯度法 matlab代码

    千次阅读 2018-05-10 20:34:00
    %共轭梯度 for i=1:2 if g==0 disp('x') x break else b=(g'*a*d)/(d'*a*d)%β d=-g+b*d; d11=subs(d(1),{x1,x2},{x(1) x(2)}); d22=subs(d(2),{x1,x2},{x(1) x(2)}); d=[d11;d22] af=(-g'*d)/(d...
    syms f x1 x2 
    f=(1/2)*x1^2+x2^2;
    x=[2;1];
    a=[1 0;0 2];% A
    g1=diff(f,x1);
    g2=diff(f,x2);
    g=[g1;g2];%导数
    
    %            x1
    g11=subs(g1,{x1,x2},{x(1) x(2)});
    g22=subs(g2,{x1,x2},{x(1) x(2)});
    g=[g11;g22]
    d=-g;
    d11=subs(d(1),{x1,x2},{x(1) x(2)});
    d22=subs(d(2),{x1,x2},{x(1) x(2)});
    d=[d11;d22]
    af=(-g'*d)/(d'*a*d)
    x=x+af*d
    g11=subs(g1,{x1,x2},{x(1) x(2)});
    g22=subs(g2,{x1,x2},{x(1) x(2)});
    g=[g11;g22]
    %             x1
    
    e=0.1;%精度
    %共轭梯度
    for i=1:2
        if g==0
            disp('x')
            x
            break
        else
            
       
            b=(g'*a*d)/(d'*a*d)%β
            d=-g+b*d;
            
            d11=subs(d(1),{x1,x2},{x(1) x(2)});
            d22=subs(d(2),{x1,x2},{x(1) x(2)});
            d=[d11;d22]
            
            af=(-g'*d)/(d'*a*d)%步长α
            
            x=x+af*d
            
            g11=subs(g1,{x1,x2},{x(1) x(2)});
            g22=subs(g2,{x1,x2},{x(1) x(2)});
            g=[g11;g22]
        end
    end
    

      

    转载于:https://www.cnblogs.com/wander-clouds/p/9016468.html

    展开全文
  • matlab预处理共轭梯度法

    热门讨论 2012-05-23 19:05:44
    matlab预处理共轭梯度法求解线性方程组的函数文件
  • 优化方法种BFGS法以及共轭梯度法MATLAB实现,代码均为本人实现,如有需要请自行下载,下载后请运行run.m文件,欢迎讨论。
  • 共方方法matlab代码实现数值线性代数 这个存储库存储了我的数值线性代数课程的所有代码,它基本上由以下七章组成: ...课程项目是用多重网格预处理共轭梯度法求解二维泊松方程,这是一项比较全面的工作。
  • 上一篇文章介绍了修正牛顿法,修正牛顿法的缺点是收敛速度一般,所以为了使算法既不使用Hess阵,也要保证它的收敛速度,本文介绍共轭梯度法共轭梯度法有超线性的收敛速度,算法结构简单,容易编程,并且不用计算...
  • 求解线性⽅方程组 Ax=b,其中 A 为 ...比较 Jacobi 迭代法、Gauss-Seidel 迭代法、逐次超松弛迭代法、 共轭梯度法与高斯消去法、列主元消去法的计算时间。改变逐次超松弛迭代法的松弛因⼦, 分析其对收敛速度的影响。
  • matlab_FR共轭梯度算法+BFGS拟牛顿算法 求解实例在funf.m中,我是手动求解的g,大家可以自动求。
  • 预处理共轭梯度法求线性方程组Ax=b的解,数值计算,求解方程
  • 共轭梯度算法Matlab

    2020-05-03 22:04:06
    基于共轭梯度法的详细案例,共轭梯度法是最优化方法的其中一种优化方案。通过变分法求解线性方程组。方向是在求出梯度方向的前提下,添加正则项,使得前后两次方向互为共轭所得出的方向向量。
  • matlab共轭梯度法求目标函数的最小极值-共轭梯度-王.rar 我是地球物理专业的一名学生,把自己实习的作业发上来大家分享下
  • 共轭梯度下降(CGD) [4]泊松最大似然(Poisson) [5] 交替投影(AP) [6] 稀疏表示压缩感知(Sparse) [7] 全变分压缩感知(TV) 公开发布 v3.0(2017 年 10 月 24 日) 内容 注意:在运行代码演示之前,请将 ...
  • 中的共轭梯度优化器与 Rasmussen 和 More-Thuente 线搜索。 注意:此包已被 . 这个包结合了两个 Matlab 例程的 R 翻译。 第一个是 Carl Edward Rasmussen 的 ,它有自己的线搜索方法,它使用三次和二次内插和外推来...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,566
精华内容 626
关键字:

共轭梯度法matlab

matlab 订阅