梯 度 法 求 最 优 解 问 题

姓 名:李刚 学号:2016210309

1、所求问题

用梯度法求目标函数121222125.05.1)(x x x x x x F --+=的无约束最优解,已知初始点

T X ]4,2[)0(-=,02.0=ε或002.0=ε

2、Matlab 编程实现

建立了一个Stair(e).m 的子函数来求解,e 为函数的输入变量,即问题中的ε。只需要在Matlab “命令行窗口”去调用此函数即可,用02.0=ε或002.0=ε去代替Stair(e).m 函数中的输入变量e 即可。

程序源码:

function z =Stair(e)

%输入变量e 来代替求解精度问题,方便求解不同静精度问题

syms x1 x2 a

f=1.5*x1^2+0.5*x2^2-x1*x2-2*x1; %目标函数

dx1=diff(f,x1); %对x1求偏导

dx2=diff(f,x2); %对x2求偏导

g=[dx1,dx2]; %梯度

X=[x1,x2]; %建立坐标变量

X0=[-2,4]; %初始点坐标

g0=subs(g,X,X0); %subs 函数,用X0代替g 函数中的X G=norm(g0); %梯度的模

k=0; %迭代次数变量

F=subs(f,X,X0); %subs 函数,用X0代替f 函数中的X F=double(F); %数据类型转换

fprintf('迭代次数k=%d ;',k);

fprintf('坐标值x1=%5.7f ',X0(1));

fprintf('x2=%5.7f ;',X0(2));

%fprintf('坐标值 X=%d %d\n',X0);

fprintf('函数值F=%5.7f\n\n',F)

for i=1:20 %迭代求解

if (G>e) %判断是否满足精度要求 k=k+1;

d=-g0/G; %确定搜索方向

MATLAB用梯度法求解目标函数,机械优化设计作业——梯度法求解相关推荐

  1. 含不等式的优化设计matlab,解析机械优化设计中MATLAB的应用

    解析机械优化设计中MATLAB的应用 摘要:MATLAB在机械优化设计中发挥着重要作用,首先对其优化工具做了简单介绍,然后阐述了其优化工具箱函数,最后结合实例对其实际应用进行了分析. 关键词机械化设计 ...

  2. matlab外推法确定搜索区间的程序,《机械优化设计》复习题

    <机械优化设计>复习题 一.填空题 1.用最速下降法求f(X)=100(x 2- x 12) 2+(1- x 1) 2的最优解时,设X (0)=[-0.5,0.5]T ,第一步迭代的搜索方 ...

  3. 基于matlab优化工具箱的机械优化设计,基于MATLAB优化工具箱的机械优化设计.pdf...

    基于MATLAB优化工具箱的机械优化设计 32 2006 6 : 1002- 6886( 2006) 06- 0032- 03 MATLAB* , , , , (长江大学 机械工程学院, 湖北 荆州 ...

  4. matlab中可塞怎么打开,MATLAB软件在机械优化设计中应用.pdf

    MATLAB软件在机械优化设计中应用 况 醒 基 桃 序 匝 猜 婚 膨 逸 融 蚁 抬 尼 瀑 溅 辩 克 亥 滚 明 挫 淑 竹 敬 轴 糕 娱 苯 械 立 值 鸟 媒 诛 孟 生 垛 魔 漾 齿 ...

  5. matlab 解目标函数,对分法求解目标函数最优解函数MATLAB实现

    %%对分法求解目标函数最优解函数 function [t,y]=equation_extremum(x,~,a,b,epsional) %%============================== ...

  6. 机械优化设计matlab程序,机械优化设计课后MATLAB编程全手工

    绝对的一手,,,本人做完试验后保存的!!! 机械优化设计实验(常用优化方法程序考核题) 姓名 吕超 班级 机工1005班 学号 10405701011 1.一位搜索方法程序考核题 1) 调用函数fmi ...

  7. 液压泵优化设计matlab,基于Matlab的外啮合齿轮泵多目标优化设计的研究

    液压传动技术中,外啮合齿轮泵为整个系统提供能量,是核心元件之-,其依靠密封工作容积变化实现工作介质的吸排,从而将机械能转化为液压能.泄漏问题-直是阻碍齿轮泵发展的-个重要因素,大大降低了齿轮泵的效率. ...

  8. matlab进行动力吸振器设计,干摩擦动力吸振器的MATLAB仿真及其基于频谱分析的优化设计...

    干摩擦动力吸振器的MATLAB仿真及其基于频谱分析的优化设计 第 2 l 卷第 2期 振动与冲击 J 0URNA L OF V I BR ATI ON AN D S HO CK 干摩擦 动力 吸振器 ...

  9. 基于Matlab Robotics Toolbox的Dobot机械臂运动规划(4)

    [基于Matlab Robotics Toolbox的Dobot机械臂运动规划]系列文章是我在学习robotics toolbox中所做工作的记录,方便自己后面复习.改进 软件环境 : Matlab ...

最新文章

  1. 解决多进程模式下引起的“惊群”效应
  2. android 使用AIDL实现进程间通讯
  3. http?https?相对协议?
  4. springMVC发送邮件
  5. python 执行js打开链接_使用Python在链接的href中执行JavaScript
  6. WinCE EBOOT中的Boot Args与Driver Globals (转)
  7. 【uoj#174】新年的破栈 贪心
  8. 5 查询一个小时前_2021国考成绩查询系统登录入口
  9. 青蛙学Linux—Zabbix Web使用之模板④基于触发器的动作和告警媒介
  10. c语言遗传算法例子,C++遗传算法类文件实例分析
  11. ORK FrameWork - 自定义存储数据ISaveData接口
  12. Resnet18详细结构
  13. 怎么把mov格式的视频转换成mp4?
  14. 3D卷积“LP-3DCNN: Unveiling Local Phase in 3D Convolutional Neural Networks”
  15. unity3d在UGUI中显示带表情的微信昵称
  16. 软件测试 —— Python(三)之数据序列(容器)
  17. SVG可伸缩的矢量图形 1
  18. 谷歌地图kml能透明吗_如何使用谷歌地图的KML文件快速计算面积
  19. input表单标签和label标签以及常使用标签的介绍
  20. scratch做飞猫躲避飞龙的游戏

热门文章

  1. java实现图片滚动_怎么用Java代码使图片自行滚动浏览
  2. v26.08 鸿蒙内核源码分析(自旋锁) | 当立贞节牌坊的好同志 | 百篇博客分析HarmonyOS源码
  3. MySQL之数据库基字符集,中文乱码,大小写敏感,Packet for query is too large
  4. ::before和::after伪元素的使用及优惠券案例
  5. 微信公众号开发(4)-实现PC扫码登录
  6. App 瘦身的七种方法
  7. 计算机网络实习内容,计算机网络工程实习目的与内容
  8. java基础代码,适合0基础学习者
  9. 06年底写的5年职业规划与珠海金山邮件面试题回复
  10. 学废了系列 - WebGIS vs WebGL图形编程