MAT之SA:T1编写主函数法和T2Matlab自带的SA工具箱GUI法,两种方法实现对二元函数优化求解
【摘要】 MAT之SA:T1编写主函数法和T2Matlab自带的SA工具箱GUI法,两种方法实现对二元函数优化求解
目录
输出结果
实现代码
输出结果
%SA:T2法利用Matlab自带的SA工具箱optimtool通过GUI调用@Jason_...
MAT之SA:T1编写主函数法和T2Matlab自带的SA工具箱GUI法,两种方法实现对二元函数优化求解
目录
输出结果
%SA:T2法利用Matlab自带的SA工具箱optimtool通过GUI调用@Jason_niu函数实现对二元函数优化求解—Jason niu
function fitnessVal = Jason_niu( x )
实现代码
-
%SA:T1法利用Matlab编写主函数实现对定义域[-5,5]上的二元函数求最优解—Jason niu
-
[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,z)
-
hold on
-
xlabel('x')
-
ylabel('y')
-
zlabel('z')
-
title('SA:利用SA最优化,定义域[-5,5]上的二元函数z = x^2 + y^2 - 10*cos(2*pi*x) - 10*cos(2*pi*y) + 20的最大值—Jason niu')
-
-
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
相关文章
MAT之SA:T1编写主函数法和T2Matlab自带的SA工具箱GUI法,两种方法实现对二元函数优化求解
文章来源: yunyaniu.blog.csdn.net,作者:一个处女座的程序猿,版权归原作者所有,如需转载,请联系作者。
原文链接:yunyaniu.blog.csdn.net/article/details/79417445
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)