- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单变量函数一维寻优搜索方法
设计任务:单变量函数一维寻优搜索方法
第一部分(20%) 第二部分(20%) 第三部分(30%) 第四部分(30%) 报告成绩: 指导教师: 预习报告(20%): 平时成绩(10%): 验收答辩成绩(50%): 设计报告成绩(20%): 总评成绩: 源代码:
1. GUI模块
screen=get(0,Screensize);
w=screen(3);h=screen(4);
figure(color,[1,1,1],position,[0.2*h,0.2*h,0.5*w,0.3*h],Name,单变量函数,NumberTitle,off,MenuBar,none);
hcount=uimenu(gcf,label,count);
hmenu1=uimenu(hcount,label,全局搜索,Callback,six);
hmenu2=uimenu(hcount,label,二分法,Callback,five);
hmenu3=uimenu(hcount,label,黄金分割,Callback,golden);
hmenu4=uimenu(hcount,label,FABONONACI,Callback,four);
hplot=uimenu(gcf,label,plot);
hmenu1=uimenu(hplot,label,误差);
hmenu1=uimenu(hplot,label,时间);
uimenu(gcf,label,quit,call,close(gcf));
2. 黄金分割函数模块
tic;
a=0;b=1;e=1e-10;
a1=b-0.618*(b-a);
a2=a+0.618*(b-a);
while b-ae
y1=8*a1^3-2*a1^2-7*a1+3;
y2=8*a2^3-2*a2^2-7*a2+3;
if y1y2
a=a1;
a1=a2;
y1=y2;
a2=a+0.618*(b-a);
plot(a2,y1,bh)
axis([0.6 0.65 -0.25 0.18]);
title(黄金分割法);
else
b=a2;
a2=a1;
y2=y1;
a1=b-0.618*(b-a);
plot(a1,y2,bh)
axis([0.6 0.65 -0.25 0.18]);
title(黄金分割法);
end
end
xmin=(a+b)/2
ymin=8*xmin^3-2*xmin^2-7*xmin+3
t=toc;
disp(t=);
disp(t);
per=(xmin-0.6298)/0.6298
3.fabonnaci法模块
tic;
f0=1;f1=1;
f=f0+f1;
n=2;a=0;b=1;
while 1/f1e-10
f0=f1;f1=f;f=f0+f1;
n=n+1;
end
fun=inline(8*x^3-2*x^2-7*x+3,x);
for k=1:n-2
t1=b+f1/f*(a-b);t2=a+f1/f*(b-a);
if fun(t1)fun(t2)
b=t2;
else
a=t1;
end
f=f1;f1=f0;f0=f-f1;
end
if fun(t1)fun(t2)
t=t1,y=fun(t1)
else
t=t2,y=fun(t2)
end
plot(t,y,r*)
axis([0.6 0.65 -0.25 0.18]);
title(fabonnaci法);
t=toc;
disp(用时t=);
disp(t);
per=(t-0.6298)/0.6298
4.二分法
tic;
a=0;b=1;e=1e-10;
x0=(a+b)/2;
fun=inline(8*x^3-2*x^2-7*x+3,x);
f=[8,-2,-7,3];
y=polyval(polyder(f),x0);
while b-ae
if y0
b=x0;
x0=(a+b)/2;
y=polyval(polyder(f),x0);
elseif y0
a=x0;
x0=(a+b)/2;
y=polyval(
您可能关注的文档
最近下载
- 新办企业培训 - 浙江省地税纳税人学堂 - 浙江省地方税务局.ppt
- 电大一网一《EXCEL在财务中的应用》形考作业一.doc VIP
- 创新答辩注意事宜.docx
- 国家税收课程教学大纲(本科).doc VIP
- 2024年7月国开电大本科《中国当代文学专题》期末考试试题及答案.pdf VIP
- 《国家税收》课程教学大纲.docx VIP
- 消毒供应专科护士学习汇报课件(样版).pptx VIP
- 急性心肌梗死合并心原性休克诊断和治疗中国专家共识(2021).docx
- 2021-2022学年广州市天河区七年级下期期末数学试题卷(附答案详解).pdf
- 9米深基坑长螺旋钻灌注围护桩及锚杆土钉墙基坑支护施工方案.docx
文档评论(0)