国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Matlab算法】L-M法求解非線性最小二乘優(yōu)化問題(附L-M法MATLAB代碼)

這篇具有很好參考價值的文章主要介紹了【Matlab算法】L-M法求解非線性最小二乘優(yōu)化問題(附L-M法MATLAB代碼)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

博主一頭小山豬目前已開放所有文章:小山豬——經(jīng)典算法專欄

活動地址:CSDN21天學(xué)習(xí)挑戰(zhàn)賽

正文

L-M法求解非線性最小二乘優(yōu)化問題

L-M法 (Levenberg-Marquardt法)原理
當(dāng)矩陣 ( J k ) T J k \left(J_{k}\right)^{T} J_{k} (Jk?)TJk? 為病態(tài)矩陣時,用G-N算法可能得不到正確的解,甚至當(dāng) ( J k ) T J k \left(J_{k}\right)^{T} J_{k} (Jk?)TJk? 不可逆時, 這時G-N算法就無法計算下去。L-M算法通過采用系數(shù)矩陣阻尼的方法改造矩陣 ( J k ) T J k \left(J_{k}\right)^{T} J_{k} (Jk?)TJk? 的性 態(tài),使算法能夠進(jìn)行下去。
L-M算法中有兩個主要的步驟: 一是解方程 [ Q + μ I ] Δ x = ? ? S ( x ( k ) ) [Q+\mu I] \Delta x=-\nabla S\left(x^{(k)}\right) [Q+μI]Δx=??S(x(k)) (其中 μ \mu μ 為阻尼系 數(shù))求出自變量的增量,另一個是阻尼系數(shù) μ \mu μ 的調(diào)整算法。
算法步驟
用L-M法求解非線性最小二乘優(yōu)化問題 min ? S ( x ) \min S(x) minS(x) 的算法過程如下:
【1】給定初始點 x ( 0 ) x^{(0)} x(0) ,選取參數(shù) β ∈ ( 0 , 1 ) , μ > 1 \beta \in(0,1) , \mu>1 β(0,1),μ>1 及精度 ε > 0 \varepsilon>0 ε>0 ,置 k = 0 k=0 k=0
【2】計算 f ( x ( k ) ) , S ( x ( k ) ) f\left(x^{(k)}\right), S\left(x^{(k)}\right) f(x(k)),S(x(k)) ;
【3】計算 ? f ( x ( k ) ) \nabla f\left(x^{(k)}\right) ?f(x(k)) ;
【4】計算 ? S ( x ( k ) ) = ( ? f ( x ( k ) ) ) T ? f ( x ( k ) ) \nabla S\left(x^{(k)}\right)=\left(\nabla f\left(x^{(k)}\right)\right)^{T} * f\left(x^{(k)}\right) ?S(x(k))=(?f(x(k)))T?f(x(k)) ;
【5】令 Q = ( ? f ( x ( k ) ) ) T ? f ( x ( k ) ) Q=\left(\nabla f\left(x^{(k)}\right)\right)^{T} \nabla f\left(x^{(k)}\right) Q=(?f(x(k)))T?f(x(k)) 解方程 [ Q + μ I ] Δ x = ? ? S ( x ( k ) ) [Q+\mu I] \Delta x=-\nabla S\left(x^{(k)}\right) [Q+μI]Δx=??S(x(k))
【6】令 x ( k + 1 ) = x ( k ) + Δ x x^{(k+1)}=x^{(k)}+\Delta x x(k+1)=x(k)+Δx ,計算終止條件是否滿足,不滿足轉(zhuǎn)【7】;
【7】若 S ( x ( k + 1 ) ) < S ( x ( k ) ) + β ( ? S ( x ( k ) ) ) T Δ x S\left(x^{(k+1)}\right)<S\left(x^{(k)}\right)+\beta\left(\nabla S\left(x^{(k)}\right)\right)^{T} \Delta x S(x(k+1))<S(x(k))+β(?S(x(k)))TΔx ,令 μ = μ / v \mu=\mu / v μ=μ/v ,轉(zhuǎn)【8】,否則令 μ = μ ? v \mu=\mu * v μ=μ?v ,轉(zhuǎn)【5】;
【8】令 k = k + 1 k=k+1 k=k+1 ,轉(zhuǎn)【2】。

代碼實現(xiàn)

L-M法函數(shù)如下文章來源地址http://www.zghlxwxcb.cn/news/detail-432950.html

function [x,minf] = minLM(f,x0,beta,u,v,var,eps)
format long;
if nargin == 6
    eps = 1.0e-6;
end
S = transpose(f)*f;
k = length(f);
n = length(x0);
x0 = transpose(x0);
A = jacobian(f,var);
tol = 1;

while tol>eps
    Fx = zeros(k,1);
    for i=1:k
        Fx(i,1) = Funval(f(i),var,x0);
    end
    Sx = Funval(S,var,x0);
    Ax = Funval(A,var,x0);
    gSx = transpose(Ax)*Fx;
    Q = transpose(Ax)*Ax;
    
    while 1
        dx = -(Q+u*eye(size(Q)))\gSx;

        x1 = x0 + dx;
        for i=1:k
            Fx1(i,1) = Funval(f(i),var,x1);
        end
        Sx1 = Funval(S,var,x1);
        tol = norm(dx);
        if tol<=eps
            break;
        end

        if Sx1 >= Sx+beta*transpose(gSx)*dx
            u = v*u;
            continue;
        else
            u = u/v;
            break;
        end
    end
    x0 = x1;
end
x = x0;
minf = Funval(S,var,x);
format short;

參考資料

  1. 小山豬——經(jīng)典算法專欄
  2. 數(shù)據(jù)結(jié)構(gòu)教程 第5版

到了這里,關(guān)于【Matlab算法】L-M法求解非線性最小二乘優(yōu)化問題(附L-M法MATLAB代碼)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 線性方程組AX=b,AX=0以及非線性方程組的最小二乘解(解方程組->優(yōu)化問題)

    線性方程組AX=b,AX=0以及非線性方程組的最小二乘解(解方程組->優(yōu)化問題)

    超定方程組無解是因為方程組包含了過多的約束條件,無法滿足所有的約束條件,在這種情況下,方程組的某些方程必然是矛盾的,也就是說,他們描述的條件是不兼容的,無法同時滿足。 所以求解超定方程組其實是一個擬合問題,其基本思想是最小化所有方程的誤差平方和

    2024年02月08日
    瀏覽(21)
  • matlab實現(xiàn)牛頓迭代法求解非線性方程

    非線性方程是指含有未知數(shù)的方程,且方程中至少有一個未知數(shù)的次數(shù)大于一或者含有非一次冪的函數(shù)(如指數(shù)、對數(shù)、三角函數(shù)等)。例如,$f(x) = x^3 - 2x - 5 = 0$就是一個非線性方程。非線性方程通常沒有顯式的解析解,因此需要使用數(shù)值方法來近似求解。 牛頓迭代法(N

    2024年02月11日
    瀏覽(35)
  • 【單諧波非線性振動問題求解器 GUI 】使用單個諧波表示解決 MDOF 非線性振動問題(Matlab代碼實現(xiàn))

    【單諧波非線性振動問題求解器 GUI 】使用單個諧波表示解決 MDOF 非線性振動問題(Matlab代碼實現(xiàn))

    目錄 ??1 概述 ??2 運行結(jié)果 ??3?參考文獻(xiàn) ??4 Matlab代碼實現(xiàn) 對于解決多自由度(MDOF)非線性振動問題,使用單個諧波表示是一種常見的近似方法。這種方法將系統(tǒng)的非線性部分在諧波振動的基礎(chǔ)上線性化,從而簡化求解過程。 以下是一個基于GUI的單諧波非線性振動問題

    2024年02月15日
    瀏覽(24)
  • MATLAB 之 非線性方程數(shù)值求解、最優(yōu)化問題求解和常微分方程初值問題的數(shù)值求解

    MATLAB 之 非線性方程數(shù)值求解、最優(yōu)化問題求解和常微分方程初值問題的數(shù)值求解

    非線性方程的求根方法很多,常用的有牛頓迭代法,但該方法需要求原方程的導(dǎo)數(shù),而在實際運算中這一條件有時 是不能滿足的,所以又出現(xiàn)了弦截法、二分法等其他方法。 在 MATLAB 中,非線性方程的求解和最優(yōu)化問題往往需要調(diào)用最優(yōu)化工具箱來解決。優(yōu)化工具箱提供了一

    2024年02月08日
    瀏覽(27)
  • 節(jié)點不連續(xù)伽遼金方法在求解線性和非線性平流方程中的一維實現(xiàn)(Matlab代碼實現(xiàn))

    節(jié)點不連續(xù)伽遼金方法在求解線性和非線性平流方程中的一維實現(xiàn)(Matlab代碼實現(xiàn))

    ????????? 歡迎來到本博客 ???????? ??博主優(yōu)勢: ?????? 博客內(nèi)容盡量做到思維縝密,邏輯清晰,為了方便讀者。 ?? 座右銘: 行百里者,半于九十。 ?????? 本文目錄如下: ?????? 目錄 ??1 概述 ??2 運行結(jié)果 ??3?參考文獻(xiàn) ??4 Matlab代碼實現(xiàn) 本文提

    2024年02月12日
    瀏覽(17)
  • 牛頓(Newton)迭代法求解非線性方程以及方程組的Matlab實現(xiàn)

    牛頓(Newton)迭代法求解非線性方程以及方程組的Matlab實現(xiàn)

    必做題目比較簡單,寫得有些隨意,主要還是第二個拓展題目的難度比較高 傳入題設(shè)數(shù)據(jù)有: 另附運行截圖 ?

    2024年02月11日
    瀏覽(28)
  • 6自由度并聯(lián)機(jī)器人 運動學(xué)算法 正解 逆解6個耦合的非線性方程組求解

    6自由度并聯(lián)機(jī)器人 運動學(xué)算法 正解 逆解6個耦合的非線性方程組求解

    6自由度并聯(lián)機(jī)器人 運動學(xué)算法 ? 正解 ?逆解 6個耦合的非線性方程組求解 正解快速收斂可用在機(jī)器人控制中 已實際使用 6自由度并聯(lián)機(jī)器人運動學(xué)算法及其在機(jī)器人控制中的應(yīng)用 隨著社會科技的不斷發(fā)展,機(jī)器人技術(shù)在工業(yè)自動化和服務(wù)業(yè)中的應(yīng)用越來越廣泛。其中,高自

    2024年04月28日
    瀏覽(44)
  • 機(jī)器視覺【3】非線性求解相機(jī)幾何參數(shù)

    機(jī)器視覺【3】非線性求解相機(jī)幾何參數(shù)

    上一章節(jié)介紹學(xué)習(xí)了(DLT)線性求解相機(jī)幾何參數(shù),了解到線性求解法當(dāng)中比較明顯的缺點: 沒有考慮到鏡頭畸變的影響 不能引入更多的約束條件融入到DLT算法當(dāng)中優(yōu)化 最關(guān)鍵的是,代數(shù)距離并不是計算相機(jī)矩陣的最佳距離函數(shù) 基于以上問題點,提出非線性求解方法。 將

    2024年02月21日
    瀏覽(23)
  • 非線性最優(yōu)化問題求解器Ipopt介紹

    Ipopt(Interior Point OPTimizer) 是求解大規(guī)模非線性最優(yōu)化問題的求解軟件??梢郧蠼馊缦滦问降淖顑?yōu)化問題的(局部)最優(yōu)解。 m i n ? x ∈ R n ??? f ( x ) s . t . g L ≤ g ( x ) ≤ g U x L ≤ x ≤ x U (0) underbrace{min}_ {x in R?} , , , f(x) \\\\ s.t. g_L ≤ g(x) ≤ g_U \\\\ x_L ≤ x ≤ x_U tag{0} x ∈ R

    2024年01月20日
    瀏覽(25)
  • 【數(shù)學(xué)建?!縋ython+Gurobi求解非線性規(guī)劃模型

    目錄 1 概述 2 算例? 2.1 算例 2.2 參數(shù)設(shè)置 2.3 Python代碼實現(xiàn) 2.4 求解結(jié)果 如果目標(biāo)函數(shù)或約束條件中包含非線性函數(shù),就稱這種規(guī)劃問題為非線性規(guī)劃問題。 參考:(非線性規(guī)劃Python)計及動態(tài)約束及節(jié)能減排環(huán)保要求的經(jīng)濟(jì)調(diào)度 2.1 算例 2.2 參數(shù)設(shè)置 求解NLP/非凸問題時,

    2024年02月09日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包