用LM方法的matlab求解,matlab中LM算法「建议收藏」

用LM方法的matlab求解,matlab中LM算法「建议收藏」symsabyxreal;f=a*exp(-b*x);Jsym=jacobian(f,[ab]);%拟合用数据。参见《数学试验》,p190,例2data_1=[0.250.511.523468];obs_1=[19.2118.1515.3614.1012.899.327.455.243.01];%2.LM算法%初始猜测sa0=10;b0=0.5…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

syms a b y x real;

f=a*exp(-b*x);

Jsym=jacobian(f,[a b]);

% 拟合用数据。参见《数学试验》,p190,例2

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 dg

if updateJ==1

% 根据当前估计值,计算雅克比矩阵

J=zeros(Ndata,Nparams);

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);

% 计算误差

d=obs_1-y_est;

% 计算(拟)海塞矩阵

H=J’*J;

% 若是第一次迭代,计算误差

if it==1

e=dot(d,d);

end

end

% 根据阻尼系数lamda混合得到H矩阵

H_lm=H+(lamda*eye(Nparams,Nparams));

% 计算步长dp,并根据步长计算新的可能的\参数估计值

dp=inv(H_lm)*(J’*d(:));

g = J’*d(:);

a_lm=a_est+dp(1);

b_lm=b_est+dp(2);

% 计算新的可能估计值对应的y和计算残差e

y_est_lm = a_lm*exp(-b_lm*data_1);

d_lm=obs_1-y_est_lm;

e_lm=dot(d_lm,d_lm);

% 根据误差,决定如何更新参数和阻尼系数

if e_lm

lamda=lamda/10;

a_est=a_lm;

b_est=b_lm;

e=e_lm;

disp(e);

updateJ=1;

else

updateJ=0;

lamda=lamda*10;

end

end

%显示优化的结果

a_est

b_est

这是LM算法的例子,我想问一下其中updateJ是什么作用?求讲解一下~~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/187236.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 基于SPSS的聚类分析原理概述[通俗易懂]

    基于SPSS的聚类分析原理概述[通俗易懂]在声音样本数目比较多的情况下,直接进行成对比较法,工作量非常大,且评价者容易疲劳,在很大程度上影响评价结果的一致性和准确性。对于这种情况,采用聚类分析,从30个声音样本中选择有代表性的样本进行主观评价试验,大大降低了主观评价试验的工作量

    2022年10月18日
  • xshell5连接不上虚拟机_虚拟机的网络连接设置

    xshell5连接不上虚拟机_虚拟机的网络连接设置一:首先解决的关于ping的问题1.在虚拟机中ping百度看能不能先ping通,如果虚拟机连接不上网络的话Xshell肯定是连接不上的,如果有上述情况的请点击二:检查你虚拟机中防火墙是否关闭CentOs6中查看防火墙状态:serviceiptablesstatus关闭防火墙:serviceiptablesstop禁用防火墙:chkconfigiptablesoffCentOs7中查看防火墙状态:systemctlstatusfirewalld.service关闭防火墙:

  • 10_单点登录SSO

    10_单点登录SSO是什么在企业发展初期,企业使用的系统很少,通常一个或者两个,每个系统都有自己的登录模块,运营人员每天用自己的账号登录,很方便。但随着企业的发展,用到的系统随之增多,运营人员在操作不同的系统时,需要多次登录,而且每个系统的账号都不一样,这对于运营人员来说,很不方便。于是,就想到是不是可以在一个系统登录,其他系统就不用登录了呢?这就是单点登录要解决的问题。单点登录英文全称SingleSignOn,简称就是SSO。它的解释是:在多个应用系统中,只需要登录一次,就可以访问其他相互信任的应用系统Coo

  • OA工作流概述[通俗易懂]

    OA工作流概述[通俗易懂]本文转自:http://www.cnblogs.com/cuihongyu3503319/archive/2007/10/15/924378.html一、工作流是什么?工作流是从英文单词workflow中直译过来的。用在OA系统中最直白的意思就是日常工作中相对固定的流程计算机化。例如:空管站发文的流程(综合业务室)拟稿——领导审批——领导会签——行政办行文这是工作流中的文件流

  • mysql sock找不到

    mysql sock找不到

  • VMware虚拟机启动后出现黑屏,不能显示界面,无论安装的是ubuntu还是centos

    VMware虚拟机启动后出现黑屏,不能显示界面,无论安装的是ubuntu还是centosVMware虚拟机启动后出现黑屏,不能显示界面,无论安装的是ubuntu还是centos

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号