使用 Levenberg-Marquardt 方法测试 \[u_{xx}+u^2=-sin(x)+sin(x)^2\], 初值选取 \(u(x)=cos(x)sin(x)\)
参考文献:《非线性方程组数值方法》,袁亚湘;

  1. 给出初值 \(x_0 \in \mathbb{R}^n; k=1,\eta \in(0,1)\)
  2. 若 \(\|J_k^{T} F_k\|=0\), 停;
    求解 \(\displaystyle (J_k^TJ_k+\lambda_k I)d=-J_k^T F_k,\lambda_k=\|F_k\|\), 得到搜索方向 \(d_k\);
  3. 若\(d_k\) 满足 \(\displaystyle \|F(x_k+d_k) \| \leq \eta \|F_k\|\), 则 \(x_{k+1}=x_k+d_k\);
    否则: \(x_{k+1}=x_k+\alpha_k d_k\), 这里的 $\alpha_k $ 由Armijio 线搜索得到;
    注:这里的Armijio 线搜索如下:
    \(\alpha_k=\xi^t,\xi \in(0,1)\), \(t\in \mathbb{Z}^+\) 是满足如下不等式的最小非负整数:
    \[ {\| F(x_k+\xi^t d_k) \|}^2 \leqslant {\|F(x_k) \|}^2+\beta_1 \xi^t F^T_k J_k d_k \]
  4. \(k=k+1\), 转2.
function T69
%  全局二次收敛的 Levenberg-Marquardt
% yuewen_chen@qq.comn=300;
r=linspace(-pi*5,pi*5,n)';
h=r(2)-r(1);
rb=[r(1)-h;r;r(end)+h];
f=-sin(r)+sin(r).^2;
x0=sin(rb);
u=cos(r).*sin(r);  % initial guess% ************ D2********************
cn1=-1*ones(n-1,1);
cp1=1*ones(n-1,1);
c=-2*ones(n,1);
D2=sparse((diag(c,0)+diag(cp1,1)+diag(-cn1,-1))/(h^2));
%******************************************
M=D2;
eta=0.9;for k=1:200lam=norm(F(u));L=g(u)'*g(u)+lam*speye(n,n);R=-g(u)'*F(u);                %之前转置写掉了; d=L\R;if norm(F(u+d))<=norm(eta*F(u))u=u+d;elsealp=Armijo(u,d);u=u+alp*d;endplot(r,u,'b.',r,sin(r),'r')title(['res=',num2str(nF(u)), ',  k=',num2str(k),' , \alpha=',num2str(norm(d))])drawnow
endfunction y=F(u)y=M*u+u.^2-f;y(1)=y(1)+x0(1)/h^2;y(end)=y(end)+x0(end)/h^2;
endfunction y=g(u)J=M+diag(2*u,0);y=J;endfunction y=nF(u)y=norm(F(u));endfunction alp=Armijo(u,d)et=1/5;bet1=0.5;t=0;while t<=500if (nF(u+et^t*d)^2<=nF(u)^2+bet1*et^t*F(u)'*g(u)*d)alp=et^t;breakelset=t+1;endalp=et^t;endend
end

转载于:https://www.cnblogs.com/yuewen-chen/p/11524458.html

Levenberg-Marquardt method for nonlinear elliptical equation相关推荐

  1. LM(Levenberg–Marquardt)算法原理及其python自定义实现

    LM算法原理及其python自定义实现 LM(Levenberg–Marquardt)算法原理 LM算法python实现 实现步骤: 代码: 运行结果: LM(Levenberg–Marquardt) ...

  2. 非线性最小二乘问题与Levenberg–Marquardt算法详解

    1 最小二乘问题 给定一组连续函数 f:Rn→Rm,m⩾n{\mathbf{f}}:{\mathbb{R}^n} \to {\mathbb{R}^m},{\text{ }}m \geqslant nf ...

  3. Levenberg–Marquardt(LM)

    Levenberg–Marquardt(LM)详解 1.基础概念 1.1.信赖域法 1.2.泰勒展开 1.2.正定矩阵(positive definite matrix) 1.3.雅克比矩阵(Jaco ...

  4. Test 1D Degenerate Elliptical equation without Hamilton-Jacobi Part

    Test 1D Degenerate Elliptical equation without Hamilton-Jacobi Parti 根据上一篇的经验:\(\frac{u_x^2}{1+u_x^2 ...

  5. Levenberg–Marquardt算法学习

    本次是对Levenberg–Marquardt的学习总结,是为之后看懂sparse bundle ajdustment打基础.这篇笔记包含如下内容: 回顾高斯牛顿算法,引入LM算法 惩罚因子的计算(迭 ...

  6. 高斯牛顿算法matlab代码,matlab实现高斯牛顿法、Levenberg–Marquardt方法

    高斯牛顿法: function [ x_ans ] = GaussNewton( xi, yi, ri) % input : x = the x vector of 3 points % y = th ...

  7. Levenberg–Marquardt algorithm

    Levenberg-Marquardt又称莱文伯格-马夸特方法(Levenberg–Marquardt algorithm)能提供数非线性最小化(局部最小)的数值解. 此算法能借由执行时修改参数达到结 ...

  8. Levenberger-Marquardt for nonlinear elliptical system

    考虑如下的方程组,测试Levenberger-Marquardt 方法: \[ \begin{align*} \varphi_{rr}+\frac{2}{r}\varphi_{,r}+\frac{1} ...

  9. 【论文翻译】(第二部分)The Fourier decomposition method for nonlinear and non-stationary time series analysis

    Brief overview of the analytic signal and empirical mode decomposition algorithm 2.简要概述了解析信号和经验模态分解算 ...

最新文章

  1. C# Math类简介
  2. 程序员面试题精选100题(31)-从尾到头输出链表[数据结构]
  3. 关于字符串指针不可修改的问题
  4. [性能] SAP销售订单取数逻辑优化---索引表
  5. 一文详解神经网络与激活函数的基本原理
  6. mysql创建存储函数报错:ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL...
  7. NSMutableDictionary中 setValue和setObject的区别
  8. 和 jQuery 说再见!Bootstrap 5 将移除对其依赖
  9. 为什么家里pm25比外面高_夫妻感情很好,男人为什么还会找情人?这是我听过最好的答案...
  10. php系统变量有哪些,php预定义系统变量
  11. Unity基础——List的用法
  12. USRP X310 Windows烧录
  13. 一年级abb式词语并造句_abb词语造句,用ABB词语造句
  14. 星巴克季节限定星怡杯樱花味拿铁升级回归
  15. Excel个人学习笔记
  16. Windows10系统Qt调试ffmpeg.c
  17. linux shell ifs,Shell 的 IFS 变量
  18. python---爬虫
  19. 市场调研—2021-2027中国鳍式场效应晶体管(FinFET)市场现状及未来发展趋势
  20. emlog发布文章自动变草稿修复方法

热门文章

  1. 2019-06-17问答系统项目落地调研
  2. 【微信】h5跳转微信小程序
  3. clock latency 总结
  4. [IOS APP]长恨歌-王安忆有声小说
  5. codeforces:D. Sea Battle【跳跃性思维 + 贪心 + 逆向思维】
  6. 两个不同牌子的手机便签怎么换机
  7. python中计时方法
  8. NOIP2017day2题解
  9. 说好的牛市来了,我的股票怎么跌停了?
  10. 用python爬取《龙岭迷窟》评论,看看比同系列鬼吹灯作品以及《盗墓笔记》好在哪里?