《模拟退火程序教学示例程序.pdf》由会员分享,可在线阅读,更多相关《模拟退火程序教学示例程序.pdf(2页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、模拟退火程序教学示例程序%I.清空环境变量 optimtool 打开自带的模拟退火工具箱 1.5 100 次迭代最大次数 1 1 -5-5 5 5 clear all clc%II.一元函数优化 x=1:0.01:2;y=sin(10*pi*x)./x;figure plot(x,y,linewidth,1.5)ylim(-1.5,1.5)xlabel(x)ylabel(y)title(y=sin(10*pi*x)/x)hold on%1.标记出最大值点 maxVal,maxIndex=max(y);plot(x(maxIndex),maxVal,r*,linewidth,2)text(x(m
2、axIndex),maxVal,X:num2str(x(maxIndex);Y:num2str(maxVal)hold on%2.标记出最小值点 minVal,minIndex=min(y);plot(x(minIndex),minVal,ks,linewidth,2)text(x(minIndex),minVal,X:num2str(x(minIndex);Y:num2str(minVal)%III.二元函数优化 x,y=meshgrid(-5:0.1:5,-5:0.1:5);z=x.2+y.2-10*cos(2*pi*x)-10*cos(2*pi*y)+20;figure mesh(x,y
3、,z)hold on xlabel(x)ylabel(y)zlabel(z)title(z=x2+y2-10*cos(2*pi*x)-10*cos(2*pi*y)+20)%1.标记出最大值点 maxVal=max(z(:);maxIndexX,maxIndexY=find(z=maxVal);for i=1:length(maxIndexX)plot3(x(maxIndexX(i),maxIndexY(i),y(maxIndexX(i),maxIndexY(i),maxVal,r*,linewidth,2)text(x(maxIndexX(i),maxIndexY(i),y(maxIndexX(i),maxIndexY(i),maxVal,X:num2str(x(maxIndexX(i),maxIndexY(i);Y:num2str(y(maxIndexX(i),maxIndexY(i);Z:num2str(maxVal)hold on end