MATLAB用梯度法求解目标函数,我想用matlab梯度法求解目标函数
满意答案
beqgs
2014.03.02
采纳率:51% 等级:7
已帮助:206人
(i)编写M文件detaf.m如下
function [f,df]=detaf(x);
f=x(1)^2+x(2)^2-x(1)*x(2)-10*x(1)-4*x(2)+60;
df(1)=2*x(1)-x(2)-10;
df(2)=2*x(2)-x(1)-4;
(ii)编写M文件tidu.m
clc
x=[2;2];
[f0,g]=detaf(x);
while norm(g)>0.001
p=-g'/norm(g);
t=1.0;f=detaf(x+t*p);
while f>f0
t=t/2;f=detaf(x+t*p);
end
x=x+t*p
[f0,g]=detaf(x)
end
在命令窗口运行tidu,回车
x =
0.9285
0.3714
f0 =
49.8848
g =
-8.5144 -4.1857
x =
1.8259
0.8126
f0 =
41.0013
g =
-7.1608 -4.2008
x =
2.6884
1.3186
f0 =
33.2628
g =
-5.9417 -4.0513
x =
3.5147
1.8819
f0 =
26.6059
g =
-4.8526 -3.7508
x =
4.3059
2.4935
f0 =
20.9888
g =
-3.8818 -3.3189
x =
5.0659
3.1433
f0 =
16.3877
g =
-3.0115 -2.7793
x =
5.8008
3.8215
f0 =
12.7914
g =
-2.2200 -2.1577
x =
6.5179
4.5185
f0 =
10.1958
g =
-1.4828 -1.4808
x =
7.2254
5.2252
f0 =
8.6002
g =
-0.7743 -0.7751
x =
7.9322
5.9326
f0 =
8.0046
g =
-0.0683 -0.0669
x =
8.0215
6.0201
f0 =
8.0004
g =
0.0229 0.0187
x =
7.9973
6.0003
f0 =
8.0000
g =
-0.0058 0.0034
x =
8.0006
5.9984
f0 =
8.0000
g =
0.0029 -0.0039
x =
7.9995
5.9999
f0 =
8.0000
g =
1.0e-003 *
-0.9686 0.3678
x =
7.9999
5.9997
f0 =
8.0000
g =
1.0e-003 *
0.1177 -0.4353
最优结果为:
x =
7.9999
5.9997
f0 =
8.0000
g =
1.0e-003 *
0.1177 -0.4353
01分享举报
MATLAB用梯度法求解目标函数,我想用matlab梯度法求解目标函数相关推荐
- 利用粒子群算法求解电力系统无功优化的MATLAB代码,以网损和电压偏差为目标函数
利用粒子群算法求解电力系统无功优化的MATLAB代码,以网损和电压偏差为目标函数,有注释和相关的参考文献. ID:6925651017361264 浪迹天涯 技术交流 资源共享 莫如博客陪您进步! 本 ...
- 数值法求解最优控制问题(一)——梯度法
同步发布在这里:https://leilie.top/2022-06-25/Study-Gradient-Method-for-OCP 最优控制问题可以使用变分法来进行求解,当问题是有约束的最优控制问 ...
- 实值遗传算法求解函数极值问题(基于MATLAB)
实值遗传算法求解函数极值问题(基于MATLAB) 声明: 1.本文源代码来自书目<智能优化算法及其MATLAB实例(第3版)>,目的在于为MATLAB初学者提供更简明的代码解析,方便读者了 ...
- MATLAB实战系列(二十六)-matlab通过遗传算法求解车间调度问题
文章目录 文中涉及源代码请参见,感兴趣的小伙伴可自行订阅下载! 数学建模源码集锦-基于多层编码遗传算法的车间调度算法应用实例 1. 关于遗传算法的一个小故事 2. 遗传算法操作流程 3. 车间调度问题 ...
- 【故障检测问题】基于matlab免疫算法求解故障检测问题【含Matlab源码 196期】
一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[故障检测问题]基于matlab免疫算法求解故障检测问题[含Matlab源码 196期] 获取代码方式2: 通过订阅紫极神光博客付费专栏,凭 ...
- 3.蚁群算法求解格栅地图路径规划matlab代码
往期: 1.Dijkstra算法求解格栅地图路径matlab代码_墨叔叔的博客-CSDN博客 2.A*搜索算法原理及matlab代码_墨叔叔的博客-CSDN博客 一.蚁群算法原理 原理:蚁群系统(An ...
- 简单迭代法、牛顿法、弦割法、布洛依登法求解方程或方程组【Matlab】
利用迭代法求解定非线性方程及方程组,使得误差不超过10^(-8).同时应用迭代加速技术,提交迭代运算效率. 此题需要用到的MATLAB代码及附录: 附录6 二分法作根的隔离 % 附录6 二分法作根的隔 ...
- matlab disp函数_代码 | 求解LP问题单纯形法的Matlab代码
介绍求解LP问题最优解的Matlab代码. Contents 求LP问题的基本(可行)解Matlab代码 基本原理 Matlab代码 初始化 是否随机生成LP问题还是自己指定LP问题 初始化系数矩阵A ...
- 用MATLAB写一个用改进的非支配排序算法求解渐进覆盖选址模型代码
好的,以下是使用MATLAB编写改进的非支配排序算法求解渐进覆盖选址模型的代码示例: ```matlab % 首先定义问题参数 numLocations = 100; % 候选位置数量 numObje ...
最新文章
- anacoda的spyder在调用matplotlib的时候无法显示动画效果【学习笔记】
- 判断网页pdf还是html,html5 – 如何知道PDF.JS是否完成渲染?
- mysql ddl crash,MySQL5.6 crash-safe replication一个坑
- 用ABP只要加人即可马上加快项目进展(二) - 分工篇 - BDD实战篇 - .NET Core里跑Specflow...
- A damn at han’s Windows phone book 笔记(3:ICE——In Case of Emergency)
- 手把手教你在Modelarts平台上进行视频推理
- Java学习日报—JVM垃圾回收全解—2021/11/26
- Java在特定情境中使用的技巧
- python epoll多路复用技术_python网络编程——IO多路复用之epoll
- 解决关于打开plist文件乱码问题,plist转换为xml文件的txt文件!
- 100m光纤测速多少正常_100m光纤测速多少正常 所以100M宽带最大下载速度
- DotNetBar布局(一)
- oracle外部表 查重,问题解决中对问题的外部表征和内部表征
- mysql附加数据库
- 微信小程序报错“getLocation:fail the api need to be declared in the requiredPrivateInfos field in app.js...“
- 为什么新冠德尔塔毒株如此“危险”?
- 微信中那种卡片形式的图文链接是如何制作的
- Mac OS X 系统更新升级包下载后的存储位置
- 微软 CTO 韦青:“程序员 35 岁就被淘汰”是个伪概念 | 人物志 胡巍巍 CSDN 4月3日
- win7下安装xp双系统--ghost最简单完美版