1. 程式人生 > >SA:T1法利用Matlab編寫主函數實現對一元函數優化求解——Jason niu

SA:T1法利用Matlab編寫主函數實現對一元函數優化求解——Jason niu

ima too label matlab new line true itl mage

%SA:T1法利用Matlab編寫主函數實現對一元函數優化求解——Jason niu

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(‘SA:T1法利用Matlab編寫主函數實現對一元函數y = sin(10*pi*x) / x優化求解—Jason niu‘)
hold on

[maxVal,maxIndex] = max(y);
plot(x(maxIndex), maxVal, ‘r*‘,‘linewidth‘,2)
text(x(maxIndex), maxVal, {[‘    X: ‘ num2str(x(maxIndex))];[‘    Y: ‘ num2str(maxVal)]})  
hold on
 

[minVal,minIndex] = min(y);
plot(x(minIndex), minVal, ‘gs‘,‘linewidth‘,2)
text(x(minIndex), minVal, {[‘    X: ‘ num2str(x(minIndex))];[‘    Y: ‘ num2str(minVal)]})

技術分享圖片

%SA:T2法利用Matlab自帶的SA工具箱optimtool通過GUI調用@Jason_niu函數實現對一元函數優化求解—Jason niu
function fitnessVal = Jason_niu( x )

技術分享圖片

SA:T1法利用Matlab編寫主函數實現對一元函數優化求解——Jason niu