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);
XDATA
とYDATA
のモデルさた关系以下になります。
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
を使用する,一顶帽子
推定の区间が生成。。
参考
lsqcurvefit
|nlparci
(统计和机器学习工具箱)