c++分治法求最大最小值实现_最优化计算与matlab实现(12)——非线性最小二乘优化问题——G-N法...

8ced47dbad5e9ff74b60c1d092828ea2.png

参考资料

《精通MATLAB最优化计算(第二版)》

编程工具

Matlab 2019a

目录

石中居士:最优化计算与Matlab实现——目录​zhuanlan.zhihu.com
1f663e75c60891381634199d1bcd6543.png

非线性最小二乘优化问题

非线性最小二乘优化也叫无约束极小平方和函数问题,它是如下无约束极小问题:

,其中

例如

,则
,其中
。如果
的线性函数,即
,其中
为矩阵,
为向量,此时问题变为线性最小二乘问题。对于线性最小二乘问题,处理起来非常简单,其实质是
变量的二次规划问题,MATLAB中对应有lsqnonlin函数求解线性最小二乘问题。

G-N法(Gauss-Newton法)

G-N法源于无约束优化的牛顿算法,因为非线性最小二乘优化问题中的目标函数形式比较特殊,可以得到其雅可比矩阵的具体形式,将其代入牛顿法的迭代公式中,就可得到G-N法。

  • 原理

根据非线性最小二乘目标函数的表达式,有

,根据无约束优化的牛顿算法,代入目标函数的梯度,则有

其中

。由于
涉及
的计算,计算量比较大,将其忽略得到求解非线性最小二乘的G-N法:

  • 算法步骤

用G-N法求解非线性最小二乘优化问题

的算法过程如下:

【1】给定初始点

,及精度
,置

【2】计算

【3】计算

【4】计算

【5】解方程

【6】置

【7】检验终止原则,否则令

,转【2】。
  • Matlab代码与试算

用G-N法求下面的优化问题:

,其中初始点取

test.m

syms 

Gauss_Newton_Method.m

function

命令行窗口

x_optimization =5.6753e-07f_optimization =2.0000

图像

44325329e1f56c1712bac90283c3d996.png

如图所示,函数

有两个最小点
,由于初始点为
,所以G-N法只求出了与1最近的

G-N算法是一个局部收敛方法,它对初始点的依赖性很大,只有当初始点接近极小点时才有可能收敛。


714cd1f41a40a9d58329807356aa299c.png

目录

石中居士:最优化计算与Matlab实现——目录​zhuanlan.zhihu.com
0ac816a13fa8b9b1cd9666b35dd32d6c.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/394682.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win7 IIS7环境下部署PHP 7.0

最近在本机电脑win7 II7环境下部署PHP 7.0遇到一些问题,将之记录下来 简要步骤如下: 1、到php官网下载php,由于是IIS环境要下载非线程安全的版本,我下载的是7.0.13 2、解压到本地文件目录下 3、通过控制台进入到php文件目录&#…

《Oracle高性能自动化运维》一一3.3 Redo产生场景

3.3 Redo产生场景我们知道,Oracle Redo是以条目(Redo Entries/Records)的形式记录数据库的所有更改操作(OP)。更改操作主要包括:数据库物理文件更改:主要指的是数据库物理文件的增减等操作&…

智能算法(GA、DBO等)求解零空闲流水车间调度问题(NIFSP)

先做一个声明:文章是由我的个人公众号中的推送直接复制粘贴而来,因此对智能优化算法感兴趣的朋友,可关注我的个人公众号:启发式算法讨论。我会不定期在公众号里分享不同的智能优化算法,经典的,或者是近几年…

《构建之法》读后感 二

个人感受部分: 01. 过去的我对自己的职业没有一个规划,认为读大学就是拿毕业证,至于以后找到什么样的工作从来没有考虑过。在拿到一个软件作业时,总是在设计阶段就把它想得特别完美,想让他没有任何出错的做出来&#x…

android 简单实现圆角,Android 实现圆角图片的简单实例

Android 实现圆角图片的简单实例实现效果图:本来想在网上找个圆角的例子看一看,不尽人意啊,基本都是官方的Demo的那张原理图,稍后会贴出。于是自己自定义了个View,实现图片的圆角以及圆形效果。效果图:Andr…

zookeeper介绍及集群的搭建(利用虚拟机)

ZooKeeper ​   ZooKeeper是一个分布式的,开放源码(apache)的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase、dubbox、kafka的重要组件。它主要用来解决分布式集群中应用系统的一致性问题…

pythondict初始化_利用defaultdict对字典进行全局初始化。

通常我们在操作字典时,如果读取的键未被初始化,则会抛出KeyError的错误,这个是我们都很熟悉的。那么一般的解决方式是使用异常处理或者是调用字典的get方法来避免出现这个异常。 可以看到,这两种写法都比较繁琐,第二种…

标准库类型String

定义和初始化string对象 初始化string对象方式 string s1 默认初始化,s1是一个空串 string s2(s1) s2是s1的副本 string s2 s1 等价于s2(s1), s2是s1的副本 string s3("value") s3是字面值"value"的副本,除了字面值最后的那个…

轻量级数据库中间件利器Sharding-JDBC深度解析(有彩蛋)

讲师介绍张亮 当当架构部总监 负责分布式中间件和私有云平台建设 目前主导开源项目:Elastic-Job及Sharding-JDBC 主题简介: 1、关系型数据库中间件核心功能介绍 2、Sharding-JDBC架构及内核解析 3、Sharding-JDBC未来展望 一、关系型数据库中间件核心功…

python字典嵌套字典的情况下获取某个key的value

最近在用python写接口的测试程序,期间用到解析字典获取某个key的value,由于多个接口返回的字典格式不是固定的并存在多层嵌套的情况。在字典的方法中也没有找到可直接达到目的的方法(也可能是我对字典的方法了解的不深的缘故),于是自己写了个…

系统在此应用程序堆栈溢出_从部署我的第一个完整堆栈Web应用程序中学到的经验教训...

系统在此应用程序堆栈溢出by Will Abramson威尔艾布拉姆森(Will Abramson) 从部署我的第一个完整堆栈Web应用程序中学到的经验教训 (Lessons learned from deploying my first full-stack web application) I recently achieved one of my long-term goals: deploying my firs…

const 常量_条款03:尽可能使用const

const 允许你指定一个语义约束(也就是指定一个“不该被改动”的对象),而编译器会强制实施这项约束。1、const指针如果关键字const出现在星号左边,表示被指物是常量;如果出现在星号右边,表示指针自身是常量&…

javascript高级程序设计---js事件思维导图

绘制思维软件与平时用的笔记,以及导出功能,这三个问题综合起来,于是我把思维导图分开画 1、js事件的基本概念 2、js事件的事件处理程序 3、js事件的事件对象 转载于:https://www.cnblogs.com/Jamie1032797633/p/10567419.html

jq挑战30天——打字机效果+小程序

<!doctype html><html><head><meta charset"utf-8"><title>基于jQuery实现的打字机效果-jq22.com</title><script src"http://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script><style></…

和 Thrift 的一场美丽邂逅

一. 与 Thrift 的初识 也许大多数人接触 Thrift 是从序列化开始的。每次搜索 “java序列化” “方式”、“对比” 或 “性能” 等关键字时&#xff0c;搜索引擎总是会返回一大堆有关各种序列化方式的使用方法或者性能对比的结果给你&#xff0c;而其中必定少不了 Thrift&#…

instagram技术_Instagram9位科技女孩进行技术采访的主要技巧

instagram技术by Rachel通过瑞秋 Instagram9位科技女孩进行技术采访的主要技巧 (Top tips for technical interviews from nine of Instagram’s tech girls) My job-hunt came to an end a few weeks ago. After endless phone interviews, coding challenges, and on-sites,…

弹出框 每次打开 滚动条置顶_微信置顶文字怎么弄?微信置顶一句话教程

今日支付宝红包支付宝首页搜索511501453马上领取红包(支付宝双十二活动&#xff0c;瓜分15亿红包)(领取后一定要记得使用&#xff0c;不然会浪费的呦&#xff0c;更会影响第二天的领取&#xff01;)奶思靓机“ 一 个 有 用 的 公 众 号 の ”嗨&#xff0c;最近很流行在微信上面…

Python学习_字符串格式化

#!/usr/bin/env python # -*- coding:utf-8 -*-# 百分号格式化 # %[(name)[flags][width].[precision]]typecode # name : 指定占位符的key # flags : - 空格 0 # width : 宽度 # precision : 小数点后保留的位数 # typecode : 必需,数据类型 # 字符串里面有%的时候, %%表示一…

python 3 面向过程编程

python 3 面向过程编程 核心是过程&#xff08;流水线式思维&#xff09;&#xff0c;过程即解决问题的步骤&#xff0c;面向过程的设计就像设计好一条工业流水线&#xff0c;是一种机械式的思维方式。 1、优点&#xff1a;程序结构清晰&#xff0c;可以把复杂的问题简单化&…

在ionic/cordova中使用百度地图插件

在ionic项目中&#xff0c;如果想实现定位功能&#xff0c;可以使用ng-cordova提供的cordova-plugin-geolocation。 但由于高墙的缘故&#xff0c;国内andorid环境下&#xff0c;此插件不起作用&#xff08;ios环境下可用&#xff09;。 国内比较好的是现实使用百度地图提供的A…