博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
matlab练习程序(高斯牛顿法最优化)
阅读量:6982 次
发布时间:2019-06-27

本文共 933 字,大约阅读时间需要 3 分钟。

计算步骤如下:

图片来自《视觉slam十四讲》6.2.2节。

下面使用书中的练习y=exp(a*x^2+b*x+c)+w这个模型验证一下,其中w为噪声,a、b、c为待解算系数。

代码如下:

clear all;close all;clc;a=1;b=2;c=1;              %待求解的系数x=(0:0.01:1)';w=rand(length(x),1)*2-1;   %生成噪声y=exp(a*x.^2+b*x+c)+w;     %带噪声的模型 plot(x,y,'.')pre=rand(3,1);      %步骤1for i=1:1000        f = exp(pre(1)*x.^2+pre(2)*x+pre(3));    g = y-f;                    %步骤2中的误差         p1 = exp(pre(1)*x.^2+pre(2)*x+pre(3)).*x.^2;    %对a求偏导    p2 = exp(pre(1)*x.^2+pre(2)*x+pre(3)).*x;       %对b求偏导    p3 = exp(pre(1)*x.^2+pre(2)*x+pre(3));          %对c求偏导    J = [p1 p2 p3];             %步骤2中的雅克比矩阵        delta = inv(J'*J)*J'* g;    %步骤3,inv(J'*J)*J'为H的逆        pcur = pre+delta;           %步骤4    if norm(delta) <1e-16        break;    end    pre = pcur;endhold on;plot(x,exp(a*x.^2+b*x+c),'r');plot(x,exp(pre(1)*x.^2+pre(2)*x+pre(3)),'g');%比较一下[a b c]pre'

迭代结果,其中散点为带噪声数据,红线为原始模型,绿线为解算模型

转载于:https://www.cnblogs.com/tiandsp/p/10213910.html

你可能感兴趣的文章
2020年全球云服务规模将达3900亿美元
查看>>
Facebook、Netflix 等多家科技巨头谈“设计”
查看>>
雅虎核心业务售与Verizon:互联网先驱的时代终结
查看>>
市场规模占全国4成,广东物联网市场发展强劲
查看>>
ICS—CERT官网公示匡恩网络新发现四工控漏洞
查看>>
英国电价与光伏容量占比关系分析
查看>>
浅谈对5G核心网演进方向的几点展望
查看>>
明智地选择数据中心的五个注意事项
查看>>
开启物联网的真正潜力需要在更大程度上克服数据挑战
查看>>
张小龙公布微信小程序进展 可直接从桌面进入
查看>>
手机芯片三国杀:高通、联发科、展讯都想成霸主
查看>>
六大技巧提升员工信息安全意识
查看>>
保利协鑫多晶硅产量再创历史记录
查看>>
爱屋及乌 年轻投资者因喜爱Snapchat亏钱也买Snap股票
查看>>
物联网产品背后潜藏着危机
查看>>
阿里云将增设马来西亚数据中心 中国技术获赞
查看>>
与Netflix合作 美电视运营商推出4K频道
查看>>
Struts2中的Action
查看>>
Balluff推出刀具识别系统
查看>>
美国支付巨头Verifone遭遇网络攻击
查看>>