资源简介
Levenberg-Marquardt的Matlab程序
代码片段和文件信息
% 计算函数f的雅克比矩阵,是解析式
syms a b y x real;
f=a*exp(-b*x);
Jsym = jacobian(f[a b])
% 拟合用数据
data_1=[0.25 0.5 1 1.5 2 3 4 6 8];
obs_1=[19.21 18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01];
% 2. LM算法
% 初始猜测s
a0=10; b0=0.5;
y_init = a0*exp(-b0*data_1);
% 数据个数
Ndata=length(obs_1);
% 参数维数
Nparams=2;
% 迭代最大次数
n_iters=50;
% LM算法的阻尼系数初值
lamda=0.01;
% step1: 变量赋值
updateJ=1;
a_est=a0;
b_est=b0;
% step2: 迭代
for it=1:n_iters
if updateJ==1
% 根据当前估计值,计算雅克比矩阵
J=zeros(NdataNparams);
for i=1:length(data_1)
J(i:)=[exp(-b_est*data_1(i)) -a_est*data_1(i)*exp(-b_est*data_1(i))];
end
% 根据当前参数,得到函数值
y_est = a_est*exp(-b_est*data_1);
%
- 上一篇:snake活动轮廓边界提取源码
- 下一篇:非线性控制时滞系统迭代学习控制算法仿真
相关资源
- 增广拉格朗日法.zip
- LM算法+PPT讲解
- 关于MATLAB的LM算法原理
- lm算法的matlab实现
- 改进过的神经网络elm算法.m
- ELM算法进行遥感图像分类
- 增广拉格朗日乘子法ALM算法matlab代码
- Matlab基于LM算法的神经网络算法最快的
- 利用LM算法优化BP神经网络的matlab源程
- 核函数的ELM算法
- PSO_ELM 运用粒子群算法对ELM算法进行优
- Elm_KElm Elm和KernelElm算法matlab实现
- levenberg_Marquardt算法
- Levenberg–Marquardt Matlab代码
- ELM算法的图像分割
- LM拟合优化算法的MATLAB实现
- 基于LM算法的神经网络训练
评论
共有 条评论