首页 > 其他分享 >2024.5.22(周三)

2024.5.22(周三)

时间:2024-06-05 10:48:17浏览次数:27  
标签:disp 10 end 2024.5 22 周三 fun x0 Hess

function [x, val, k] = dampnm(fun, gfun, Hess, x0) % 功能: 用阻尼牛顿法求解无约束优化问题:min f(x) % 输入: x0 是初始点, fun, gfun, Hess 分别是目标函数和梯度 Hess 阵函数 % 输出: x, val 分别是近似最优解和近似最优值, k 是迭代次数 maxk = 5000; rho = 0.5; sigma = 0.4; k = 0; epsilon = 1e-6; while (k < maxk) gk = feval(gfun, x0); Gk = feval(Hess, x0); % 使用更为稳定的解法 dk = -Gk \ gk; if (norm(dk) < epsilon) break; end m = 0; while (m < 20) if (feval(fun, x0 + rho^m * dk) <= feval(fun, x0) + sigma * rho^m * gk' * dk) break; end m = m + 1; end x0 = x0 + rho^m * dk; k = k + 1; end x = x0; val = feval(fun, x); end % 定义目标函数 function y = fun(x) y = (x(1) + 10 * x(2))^2 + 5 * (x(3) - x(4))^2 + (x(2) - 2 * x(3))^4 + 10 * (x(1) - x(4))^4; end % 定义梯度函数 function g = gfun(x) g = [2 * (x(1) + 10 * x(2)) + 40 * (x(1) - x(4))^3; 20 * (x(1) + 10 * x(2)) + 4 * (x(2) - 2 * x(3))^3; 10 * (x(3) - x(4)) - 8 * (x(2) - 2 * x(3))^3; -10 * (x(3) - x(4)) - 40 * (x(1) - x(4))^3]; end % 定义 Hessian 矩阵函数 function He = Hess(x) He = [2 + 120 * (x(1) - x(4))^2, 20, 0, -120 * (x(1) - x(4))^2; 20, 200 + 12 * (x(2) - 2 * x(3))^2, -24 * (x(2) - 2 * x(3))^2, 0; 0, -24 * (x(2) - 2 * x(3))^2, 10 + 48 * (x(2) - 2 * x(3))^2, -10; -120 * (x(1) - x(4))^2, 0, -10, 10 + 120 * (x(1) - x(4))^2]; end % 调用示例 x0 = [0; 1; 2; 2]; % 初始点 [x, val, k] = dampnm(@fun, @gfun, @Hess, x0); % 输出结果 disp('近似最优解:'); disp(x); disp('近似最优值:'); disp(val); disp('迭代次数:'); disp(k);

标签:disp,10,end,2024.5,22,周三,fun,x0,Hess
From: https://www.cnblogs.com/Sunyiran/p/18232506

相关文章

  • 2024.5.23(周四)
    function[s,phis,k,G,E]=golds(phi,a,b,delta,epsilon)%输入:phi是目标函数,a,b是搜索区间的两个端点delta,epsilon分别是自变量和函数值的容许误差9%输出:s,phis分别是近似极小点和极小值,G是nx4矩阵。其第k行分别是a,p,q,b的第k次迭代值[ak,pk,qk,bk],E=[ds,dphi],分别是s和phis的误......
  • 2024.5.27(周一)
    function[section]=JinTuiFa(fx,x0,h0,t)%%%输入目标函数x,初始点x0,初始步长h0和加停系数t:%%%采用进退法确定搜索区间ra,bl;输出搜索区间f=inline(fx);h=h0;a=x0;k=0;%k是计数器,同时也做指示器:如果第1次目标函数就没有下降,将%作为反白搜索的指示标记:......
  • ASP.NET Web应用程序升级最新的MSBuild格式后,Visual Studio 2022中如何调试?
    摘要把ASP.NET的Web应用程序,Project文件从<ProjectToolsVersion="12.0"DefaultTargets="Build"xmlns="http://schemas.microsoft.com/developer/msbuild/2003">改为<ProjectSdk="Microsoft.NET.Sdk.Web">之后,升级成了最新的格式之后,如......
  • ASP.NET Web应用程序升级最新的MSBuild格式后,Visual Studio 2022中如何调试?
    摘要把ASP.NET的Web应用程序,Project文件从<ProjectToolsVersion="12.0"DefaultTargets="Build"xmlns="http://schemas.microsoft.com/developer/msbuild/2003">改为<ProjectSdk="Microsoft.NET.Sdk.Web">之后,升级成了最新的格式之后,如......
  • 代码随想录算法训练营第四十八天| 70. 爬楼梯(进阶版)、322. 零钱兑换、 279.完全平方数
     70.爬楼梯(进阶版)文档讲解:代码随想录题目链接:57.爬楼梯(第八期模拟笔试)我们之前做的爬楼梯是只能至多爬两个台阶。这次改为:一步一个台阶,两个台阶,三个台阶,.......,直到m个台阶。问有多少种不同的方法可以爬到楼顶呢?这又有难度了,这其实是一个完全背包问题。1阶,2阶,.........
  • 【数据分享】中国民政统计年鉴(1949-2022)
    大家好!今天我要向大家介绍一份重要的中国民政统计数据资源——《中国民政统计年鉴》。这份年鉴涵盖了从1949年到2022年中国民政统计全面数据,并提供限时免费下载。(无需分享朋友圈即可获取)数据介绍从1949年到2022年,每年的《中国民政统计年鉴》不仅是数据记录的集合,更是我国社会......
  • 22240定级指南小结
    信息安全技术,网络安全等级保护定级指南一、基本概念和定级要素等级的含义:角度:从重要性等级的角度进行定级。1.对国家安全、经济建设、公共利益等方面的重要性。2.被破坏后造成的严重程度。概念解释:1.等级保护对象:网路安全等级保护工作的作用对象,主要包括通信网络设施......
  • 易支付系统新版【2024.5.27】正版【部署简单直接】
    今天我将详细介绍如何对接拉卡拉聚合收银台支付,并指出其中应注意的点。我希望这篇文章能够帮助那些正在寻找如何实现这个功能的开发者。一、拉卡拉聚合收银台支付简介拉卡拉聚合收银台支付是一种整合了多种支付方式的支付服务,包括但不限于微信支付、支付宝支付、银联支付等。......
  • 《计算机网络微课堂》实验22 VLAN间通信的实现方法:单臂路由
    下面‍‍我们来进行一个仿真实验,本仿真实验的目的在于验证VLAN间的通信,‍‍可以使用单臂路由来实现。我已经在仿真软件中构建好了我们理论课中所使用的网络拓扑,‍‍并且在各主机和路由器的各接口旁边都标注好了所需配置的IP地址和地址掩码。​​‍需要说明的是CIDR地址......
  • [22] 虚幻引擎知识拓展 智能指针、JSON解析、插件
    Day1大纲虚幻智能指针  共享指针  共享引用JSON解析对象型、数组型、解析Json文件、书写Json、读取场景Actor保存到Json任务:封装高德地图天气系统插件给蓝图使用内容虚幻智能指针创建共享指针////创建共享指针//TSharedPtr<FMyClass>pMyClass=MakeShareab......