4 3非線性函式最小二乘擬合

2021-10-09 09:33:43 字數 733 閱讀 2397

%% 非線性函式-最小二乘法擬合     馬玉華    2020.9.11

% 已知一組自變數資料x和函式值y,以及函式形式y=f(c,x),但是表示式的引數c不知道。對資料xy進行擬合,求解引數c

% 基本格式 c=lsqcurvefit(fun,c0,x,y)

% 完整格式 [c,q]=lsqcurvefit(fun,c0,x,y,lb,ub),c0為需要設定的迭代初值,x、y為已知資料(矩陣,x為多元則使用多維陣列),lb、ub為引數c的上下限(可不寫)。c0、x、y、lb、ub都是向量

% 返回擬合引數c,誤差平方和q

% 示例1:擬合 y=ax^2+be^x

x = [0,1,2,3,4]; % 一元自變數資料

y = [0,5,14,27,44]; % 函式值資料

fun = @(c,x) c(1)*x.^2 + c(2)*exp(x) % 函式表示式

[c,q]=lsqcurvefit(fun,[1,1],x,y) % (函式fun,引數初值[1,1],資料x,資料y)

輸出結果:

fun = 

@(c,x)c(1)*x.^2+c(2)*exp(x)

c = 3.7363 -0.2896

q = 6.3743

可參考leastsq最小二乘法擬合和最小二乘法擬合、例二:擬合二次函式

非線性最小二乘

非線性最小二乘問題是求解目標引數 的最優值的方法 1.要有待優化的引數x 2.要知道引數與估計值的函式關係 f x 3.要有觀測資料z 4.待優化引數的初值x0 5.待優化引數的範圍 可選 非線性最小二乘問題,可以轉化為非線性優化問題 解非線性最小二乘需要非線性優化演算法 非線性優化演算法最通用的方...

最小二乘線性擬合

實驗 給出實驗資料 程式 如下 write by void,2013.4.15,beijing import matplotlib.pyplot as plt import numpy as np x 13,15,16,21,22,23,25,29,30,31,36,40,42,55,60,62,6...

手寫非線性最小二乘

方法1 梯度下降法 include include include include include include include class descent method descent method descent method double a,double b,double c a a b ...