主要内容

lsqcurvefitを使用た非线形曲线近似

lsqcurvefitによってパラメーターれ非线形关数がデータに当てはめられ。。LSQNONLINも使用でき。lsqcurvefitは曲线近似にLSQNONLINを呼び出す简単かつな方法をし。。。

この例で,ベクトルXDATAが100个の点を示しベクトルベクトルYDATAが対応値をます。问题データ生成生成ますます。

RNG(5489,'twister'%可再现xData = -2*log(rand(100,1));ydata =(一个(100,1) + .1*randn(100,1)) +(3*一个(100,1) +...0.5*randn(100,1))。*exp( - (2*一个(100,1)+....5*randn(100,1)))。*xdata);

XDATAYDATAのモデルさた关系以下になります。

y d 一个 t 一个 一世 = 一个 1 + 一个 2 经验 (( - 一个 3 X d 一个 t 一个 一世 + ε 一世

2の平均平均平均の指数分布分布からからから个の独立したによってによってXDATAを生成ます。コード,,a = [1; 3; 2]を使用て定义方程からからYDATAを生成ますこれには,偏差偏差[0.1; 0.5; 0.5]をもつ正规をし摂动が与えています。

この问题目的,に最も当てまるモデルのパラメーター 一个 ˆ 一世 一世 = 1、2、3を见つける。。

lsqcurvefitを使用パラメーターデータ当てに,近似を定义しなければばなりませんん。无名关数关数预料到的を定义し。

预测= @(a,xdata)a(1)*ons(100,1)+a(2)*exp(-a(3)*xdata);

モデルをに当てはめるににlsqcurvefitはパラメーターの推定A0を必要とます。

A0 = [2; 2; 2];

lsqcurvefitを呼び出し,最适パラメーターパラメーター 一个 ˆ 一世 を求めます。

[ahat,重新注射,残留,出口,输出,lambda,jacobian] =...lsqcurvefit(预测,A0,XDATA,YDATA);
当地的最低限度。LSQCURVEFIT停止了,因为平方之和相对于其初始值的最终变化小于函数公差的值。

得られパラメーターを検证。。

disp(ahat)
1.0169 3.1444 2.1596

适合値一顶帽子a = [1; 3; 2]8%以内にます。。

统计和机器学习工具箱™ソフトウェアがさて场合关数关数关数nlparciを使用する,一顶帽子推定の区间が生成。。

参考

|(统计和机器学习工具箱)

关连するトピック