最速下降法
更新时间:2023-08-17 10:20:01 阅读量: 资格考试认证 文档下载
第二题matlab编程(任选一个)
1) 翻牌游戏把13张牌反过来(背面朝上)按一定的顺序排列,先把你已经排好的牌第一张取出放在这叠牌的最底层,拿出第二张放在桌面上,然后将第三张取出又放在最底层,取出第四张放在桌子上……直到游戏结束,你依次取出放在桌子上的牌刚好为K,Q,J,10,9,8,7,6,5,4,3,2,A。问你一开始时这13张牌的顺序是怎样的?请你编程解决这个问题。
解:程序如下:
function f=card() a=1:13; i=1;
for j=1:13
n=numel(a); %目前的片数;numle为元数的个数。
a(n+1)=a(1); %在多少张里面取第一张。
a(1)=[];%将上面取出的第一张牌所在空格剪掉。 b(i)=a(1); %翻出来时桌面上亮出来的牌。 i=i+1;
a(1)=[];%随着i自增,取出现的空格为空。(即删除)。 end
c={'K','Q','J','10','9','8','7','6','5','4','3','2','A'}; %因为10占两位,故用单元d=cell(1,13); %由BC对应的数,
%将C中字符型的牌放入由B决定对应的D中。 for k=1:13 r=b(k); d{r}=c{k}; end f=d;
a=card()
运行结果为:
a =
'7' 'K' '2' 'Q' '6' 'J' '3' '10' '5' '9' 'A' '8' '4'
2) 学校要举行篮球循环赛,共有十个队参加比赛,请你安排一下比赛场次,使每队每次打完比赛后至少能隔一场不比赛,以便得到休息保持体力,请你用
MATLAB解决这个问题,并给出至少一个比赛日程表。(每队休息的场次越多越好,但每队都应得到的休息大体相同,不能出现某队刚打完比赛,马上和另一个已经休息了若干场的球队比赛,这是不公平的)。
3)利用最速下降法求如下函数的极值
22
f(x1,x2) (x1 x2 7)2 (x1 x2 11)2
其中,初始点为x0 1,1 T
解:
首先:得明确最速下降法的算法与思想。
最速下降法也叫梯度法,它是以梯度的负方向作为搜索方向。 即: dk f(xk)
设f(x)在xk附近连续可微,dk为搜索方向向量,gk f(x)。由泰勒展开式得:
T
f(xk dk) f(xk) gkdk o( ), 0
那么目标函数f(x)在xk处沿方向dk下降的变化率为
lim
0
f(xk dk) f(xk)
T
gkdk o( ) lim
0T
gkdk gkdkcosk,
其中 k是gk与dk的夹角。显然,对于不同的方向dk,函数变化率取决于它与
gk夹角的余弦值。要使变化率最小,只有cosk 1,即k 时才能达到,亦即
dk应取负梯度方向(即dk f(xk))。 最速下降法的算法:
步骤 1:选取初始点x0 Rn,允许误差0 1.令 k=0.
步骤 2:计算gk f(xk).若gk ,停止计算,输出xk作为近似最优解。 步骤 3:取方向dk gk。
步骤 4:由线搜索技术确定步长因子 k。 步骤 5:令xk 1 xk kdk,k k 1,转到步骤 1 程序如下:
(1)先写一个主程序 m 文件 (名为 grad.m):
function [x,val,k]=grad(fun,gfun,x0) % 最速下降法求解无约束问题:min f(x1,x2)
% 输入:x0是初始点,fun是目标函数,gfun是梯度 % 输出:x是近似最优点,val是最优值,k是迭代次数 maxk=2000; % 最大迭代次数 rho=0.5; sigma=0.4; k=0;
epsilon=1e-100; while(k<maxk)
g=feval(gfun,x0); % 计算梯度 d=-g; % 计算搜索方向 if(norm(d)<epsilon) break; end
m=0;mk=0; while(m<20)
if(feval(fun,x0+rho^m*d)<feval(fun,x0)+sigma*rho^m*g'*d) mk=m; break; end m=m+1; end
x0=x0+rho^mk*d; k=k+1; end x=x0;
val=feval(fun,x0);
(2)建立目标函数和求梯度的两个函数 (名字分别为 fun.m 和 gfun.m ):
% 目标函数 m 文件: function f=fun(x);
f=(x(1)^2+x(2)-7)^2+(x(1)+x(2)^2-11)^2;
% 梯度函数 m 文件: function g=gfun(x);
g=[2*(x(1)^2+x(2)-7)*2*x(1)+2*(x(1)+x(2)^2-11),... 2*(x(1)^2+x(2)-7)+2*(x(1)+x(2)^2-11)*2*x(2)]';
在MATLAB命令窗口输入: x0=[1 1]';
[x,val,k]=grad('fun','gfun',x0);
g = -38 -46 f =
7440890 f = 106 f =
516114 f = 106 f =
3.7656e+004 f = 106 f =
2.7018e+003 f = 106 f =
122.9419 f = 106 f =
8.2928 f = 106 g =
-3.7939 -27.5479 f =
8.0287e+005 f =
8.2928 f =
6.6153e+004 f =
8.2928 f =
6.4017e+003 f =
8.2928 f =
724.5325 f =
8.2928 f =
85.3361 f =
8.2928 f =
7.3880 f =
8.2928 f =
1.1179 f =
8.2928 g =
7.1755 -4.2271 f =
1.7788e+003 f =
1.1179 f =
155.6531 f =
1.1179 f =
31.8208 f =
1.1179 f =
6.7267 f =
1.1179 f =
0.7722 f =
1.1179 f =
0.0087 f =
1.1179 g =
0.7795 0.4543 f =
19.1951 f =
0.0087 f =
5.2534 f =
0.0087 f =
1.3044 f =
0.0087 f =
0.2929 f =
0.0087 f =
0.0558 f =
0.0087 f =
0.0080 f =
0.0087
f =
0.0022 f =
0.0087 g =
0.2135 -0.3139 f =
3.2148 f =
0.0022 f =
0.7323 f =
0.0022 f =
0.1622 f =
0.0022 f =
0.0327 f =
0.0022 f =
0.0053 f =
0.0022 f =
7.1342e-004 f =
0.0022 f =
7.1178e-004 f =
0.0022 g =
0.1969 -0.0192 f =
0.5068 f =
7.1178e-004 f =
0.1246 f =
7.1178e-004 f =
0.0277 f =
7.1178e-004 f =
0.0051 f =
7.1178e-004 f =
6.0803e-004 f =
7.1178e-004 f =
7.5948e-005 f =
7.1178e-004 g =
-0.0014 -0.0980 f =
0.3595 f =
7.5948e-005 f =
0.0861 f =
7.5948e-005 f =
0.0202 f =
7.5948e-005 f =
0.0045 f =
7.5948e-005 f =
8.7536e-004 f =
7.5948e-005 f =
1.2537e-004 f =
7.5948e-005 f =
1.3217e-005 f =
7.5948e-005 g =
0.0300 0.0157 f =
0.0323 f =
1.3217e-005 f =
0.0078 f =
1.3217e-005 f =
0.0018 f =
1.3217e-005 f =
3.9724e-004 f =
1.3217e-005 f =
7.3572e-005
f =
1.3217e-005 f =
1.0453e-005 f =
1.3217e-005 f =
3.5963e-006 f =
1.3217e-005 g =
0.0091 -0.0118 f =
0.0042 f =
3.5963e-006 f =
9.9898e-004 f =
3.5963e-006 f =
2.2438e-004 f =
3.5963e-006 f =
4.4841e-005 f =
3.5963e-006 f =
6.9411e-006 f =
3.5963e-006 f =
9.5052e-007 f =
3.5963e-006 f =
1.1940e-006 f =
3.5963e-006 g =
0.0080 -0.0010 f =
8.8926e-004 f =
1.1940e-006 f =
2.0757e-004 f =
1.1940e-006 f =
4.4787e-005 f =
1.1940e-006 f =
8.0682e-006 f =
1.1940e-006 f =
8.9770e-007 f =
1.1940e-006 f =
1.1215e-007 f =
1.1940e-006 g =
0.0001 -0.0037 f =
4.7217e-004 f =
1.1215e-007 f =
1.1471e-004 f =
1.1215e-007 f =
2.7081e-005 f =
1.1215e-007 f =
6.0173e-006 f =
1.1215e-007 f =
1.1704e-006 f =
1.1215e-007 f =
1.6773e-007 f =
1.1215e-007 f =
2.1559e-008 f =
1.1215e-007 g =
0.0012 0.0005 f =
4.6047e-005 f =
2.1559e-008 f =
1.1098e-005 f =
2.1559e-008 f =
2.5747e-006 f =
2.1559e-008
f =
5.5179e-007 f =
2.1559e-008 f =
1.0008e-007 f =
2.1559e-008 f =
1.4165e-008 f =
2.1559e-008 f =
6.1991e-009 f =
2.1559e-008 g =
1.0e-003 * 0.3986 -0.4589 f =
6.4724e-006 f =
6.1991e-009 f =
1.5303e-006 f =
6.1991e-009 f =
3.4103e-007 f =
6.1991e-009 f =
6.6812e-008 f =
6.1991e-009 f =
9.8056e-009 f =
6.1991e-009 f =
1.3274e-009 f =
6.1991e-009 g =
1.0e-003 * 0.2619 0.3532 f =
7.4397e-006 f =
1.3274e-009 f =
1.8127e-006 f =
1.3274e-009 f =
4.3001e-007 f =
1.3274e-009 f =
9.6414e-008 f =
1.3274e-009 f =
1.9057e-008 f =
1.3274e-009 f =
2.7386e-009 f =
1.3274e-009 f =
1.6960e-010 f =
1.3274e-009 f =
2.8265e-010 f =
1.3274e-009 g =
1.0e-003 * 0.1371 0.1081 f =
1.0183e-006 f =
2.8265e-010 f =
2.4716e-007 f =
2.8265e-010 f =
5.8192e-008 f =
2.8265e-010 f =
1.2854e-008 f =
2.8265e-010 f =
2.4727e-009 f =
2.8265e-010 f =
3.5370e-010 f =
2.8265e-010 f =
6.2188e-011 f =
2.8265e-010 g =
1.0e-004 *
0.3051 -0.5975 f =
1.0701e-007 f =
6.2188e-011 f =
2.5675e-008 f =
6.2188e-011 f =
5.9027e-009 f =
6.2188e-011 f =
1.2410e-009 f =
6.2188e-011 f =
2.1624e-010 f =
6.2188e-011 f =
3.0378e-011 f =
6.2188e-011 f =
1.9074e-011 f =
6.2188e-011 g =
1.0e-004 * 0.3297 -0.0020 f =
1.7285e-008 f =
1.9074e-011 f =
4.0637e-009 f =
1.9074e-011 f =
8.9433e-010 f =
1.9074e-011 f =
1.6993e-010 f =
1.9074e-011 f =
2.2811e-011 f =
1.9074e-011 f =
3.0193e-012 f =
1.9074e-011 g =
1.0e-004 * -0.0194 -0.2035 f =
1.5755e-008 f =
3.0193e-012 f =
3.8366e-009 f =
3.0193e-012 f =
9.0919e-010 f =
3.0193e-012 f =
2.0345e-010 f =
3.0193e-012 f =
4.0073e-011 f =
3.0193e-012 f =
5.7553e-012 f =
3.0193e-012 f =
4.3960e-013 f =
3.0193e-012 f =
7.4250e-013 f =
3.0193e-012 g =
1.0e-005 * 0.1757 -0.8281 f =
2.2280e-009 f =
7.4250e-013 f =
5.3964e-010 f =
7.4250e-013 f =
1.2651e-010 f =
7.4250e-013 f =
2.7705e-011 f =
7.4250e-013
f =
5.2435e-012 f =
7.4250e-013 f =
7.4793e-013 f =
7.4250e-013 f =
1.8395e-013 f =
7.4250e-013 g =
1.0e-005 * 0.3412 0.0745 f =
2.5720e-010 f =
1.8395e-013 f =
6.1390e-011 f =
1.8395e-013 f =
1.3961e-011 f =
1.8395e-013 f =
2.8662e-012 f =
1.8395e-013 f =
4.7345e-013 f =
1.8395e-013 f =
6.5803e-014 f =
1.8395e-013 f =
5.9154e-014 f =
1.8395e-013 g =
1.0e-005 * 0.1366 -0.1183 f =
4.7956e-011 f =
5.9154e-014 f =
1.1217e-011 f =
5.9154e-014 f =
2.4404e-012 f =
5.9154e-014 f =
4.5039e-013 f =
5.9154e-014 f =
5.4919e-014 f =
5.9154e-014 f =
7.0731e-015 f =
5.9154e-014 g =
1.0e-006 * 0.6537 0.6980 f =
3.3509e-011 f =
7.0731e-015 f =
8.1540e-012 f =
7.0731e-015 f =
1.9295e-012 f =
7.0731e-015 f =
4.3052e-013 f =
7.0731e-015 f =
8.4357e-014 f =
7.0731e-015 f =
1.2105e-014 f =
7.0731e-015 f =
1.1864e-015 f =
7.0731e-015 g =
1.0e-006 * 0.0883 -0.3133 f =
3.1071e-012 f =
1.1864e-015 f =
7.5118e-013
f =
1.1864e-015 f =
1.7544e-013 f =
1.1864e-015 f =
3.8126e-014 f =
1.1864e-015 f =
7.1098e-015 f =
1.1864e-015 f =
1.0115e-015 f =
1.1864e-015 f =
3.1481e-016 f =
1.1864e-015 g =
1.0e-006 * 0.1393 0.0214 f =
3.8675e-013 f =
3.1481e-016 f =
9.1960e-014 f =
3.1481e-016 f =
2.0744e-014 f =
3.1481e-016 f =
4.1808e-015 f =
3.1481e-016 f =
6.6067e-016 f =
3.1481e-016 f =
9.0964e-017 f =
3.1481e-016 f =
1.0369e-016 f =
3.1481e-016 g =
1.0e-007 * 0.5862
-0.4687 f =
7.9213e-014 f =
1.0369e-016 f =
1.8473e-014 f =
1.0369e-016 f =
3.9919e-015 f =
1.0369e-016 f =
7.2372e-016 f =
1.0369e-016 f =
8.2684e-017 f =
1.0369e-016 f =
1.0433e-017 f =
1.0369e-016 g =
1.0e-007 * 0.2563 0.2488 f =
4.5562e-014 f =
1.0433e-017 f =
1.1079e-014 f =
1.0433e-017 f =
2.6182e-015 f =
1.0433e-017 f =
5.8261e-016 f =
1.0433e-017 f =
1.1360e-016 f =
1.0433e-017 f =
1.6288e-017 f =
1.0433e-017 f =
1.9279e-018 f =
1.0433e-017
g =
1.0e-007 * 0.0424 -0.1190 f =
4.3763e-015 f =
1.9279e-018 f =
1.0556e-015 f =
1.9279e-018 f =
2.4542e-016 f =
1.9279e-018 f =
5.2831e-017 f =
1.9279e-018 f =
9.6692e-018 f =
1.9279e-018 f =
1.3709e-018 f =
1.9279e-018 f =
5.4252e-019 f =
1.9279e-018 g =
1.0e-008 * 0.5705 0.0534 f =
5.9248e-016 f =
5.4252e-019 f =
1.4032e-016 f =
5.4252e-019 f =
3.1383e-017 f =
5.4252e-019 f =
6.2009e-018 f =
5.4252e-019 f =
9.3123e-019 f =
5.4252e-019 f =
1.2675e-019 f =
5.4252e-019 g =
1.0e-008 * -0.0691 -0.4267 f =
7.2209e-016 f =
1.2675e-019 f =
1.7595e-016 f =
1.2675e-019 f =
4.1747e-017 f =
1.2675e-019 f =
9.3640e-018 f =
1.2675e-019 f =
1.8522e-018 f =
1.2675e-019 f =
2.6621e-019 f =
1.2675e-019 f =
1.5661e-020 f =
1.2675e-019 f =
2.6002e-020 f =
1.2675e-019 g =
1.0e-008 * 0.0160 -0.1692 f =
9.8116e-017 f =
2.6002e-020 f =
2.3826e-017 f =
2.6002e-020 f =
5.6150e-018 f =
2.6002e-020 f =
1.2427e-018
f =
2.6002e-020 f =
2.3990e-019 f =
2.6002e-020 f =
3.4337e-020 f =
2.6002e-020 f =
5.5166e-021 f =
2.6002e-020 g =
1.0e-009 * 0.6036 0.2146 f =
1.0082e-017 f =
5.5166e-021 f =
2.4221e-018 f =
5.5166e-021 f =
5.5837e-019 f =
5.5166e-021 f =
1.1808e-019 f =
5.5166e-021 f =
2.0834e-020 f =
5.5166e-021 f =
2.9338e-021 f =
5.5166e-021 f =
1.6648e-021 f =
5.5166e-021 g =
1.0e-009 * 0.2159 -0.2222 f =
1.5649e-018 f =
1.6648e-021 f =
3.6848e-019 f =
1.6648e-021 f =
8.1373e-020 f =
1.6648e-021 f =
1.5594e-020 f =
1.6648e-021 f =
2.1482e-021 f =
1.6648e-021 f =
2.8628e-022 f =
1.6648e-021 g =
1.0e-009 * 0.1253 0.1566 f =
1.5277e-018 f =
2.8628e-022 f =
3.7208e-019 f =
2.8628e-022 f =
8.8203e-020 f =
2.8628e-022 f =
1.9750e-020 f =
2.8628e-022 f =
3.8945e-021 f =
2.8628e-022 f =
5.5940e-022 f =
2.8628e-022 f =
4.0092e-023 f =
2.8628e-022 f =
6.7520e-023 f =
2.8628e-022 g =
1.0e-010 * 0.6758 0.4649
正在阅读:
最速下降法08-17
试验设计与数据分析第一次作业习题答案04-14
清水池混凝土施工方案03-28
北师大版五年级上册数学单元测试题09-03
猪流感症状02-15
2014反思论文12-25
难忘的话作文600字07-11
省科技创新人才计划管理办法08-30
2011年公司年度计划任务时间表308-24
- 梳理《史记》素材,为作文添彩
- 2012呼和浩特驾照模拟考试B2车型试题
- 关于全面推进施工现场标准化管理实施的通知(红头文件)
- 江西省房屋建筑和市政基础设施工程施工招标文件范本
- 律师与公证制度第2阶段练习题
- 2019-2020年最新人教版PEP初三英语九年级上册精编单元练习unit6训练测试卷内含听力文件及听力原文
- 小升初数学模拟试卷(十四) 北京版 Word版,含答案
- 认识创新思维特点 探讨创新教育方法-精选教育文档
- 00266 自考 社会心理学一(复习题大全)
- 多媒体在语文教学中的运用效果
- 派出所派出所教导员述职报告
- 低压电工作业考试B
- 18秋福建师范大学《管理心理学》在线作业一4
- 中国铝业公司职工违规违纪处分暂行规定
- 13建筑力学复习题(答案)
- 2008年新密市师德征文获奖名单 - 图文
- 保安员培训考试题库(附答案)
- 银川市贺兰一中一模试卷
- 2011—2017年新课标全国卷2文科数学试题分类汇编 - 1.集合
- 湖北省襄阳市第五中学届高三生物五月模拟考试试题一
- 下降