Matlab遗传算法工具箱求函数最小值
生活随笔
收集整理的這篇文章主要介紹了
Matlab遗传算法工具箱求函数最小值
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目
先上代碼
%%%%%%%%%%%%%%% %% test.m %% %% Feng1909 %% %%%%%%%%%%%%%%% function result = test(a)is_max = 0;x = a(1);y = a(2);PI = 3.141592653;if is_max == 0result = -(sin(3*PI*x)*cos(4*PI*y)+cos(5*PI*x*sin(2*PI*y)))*(1);endif is_max == 1result = (sin(3*PI*x)*cos(4*PI*y)+cos(5*PI*x*sin(2*PI*y)))*(1);end end代碼解釋
定義函數(shù)名為test,傳入變量為向量a,該向量是一個(gè)二維向量,在函數(shù)中分別令x和y取a向量的兩個(gè)值作為待優(yōu)化函數(shù)的輸入,當(dāng)計(jì)算函數(shù)最大值時(shí),將is_max變量賦值為1,否則為0,通過函數(shù)計(jì)算返回函數(shù)值
GA工具箱
打開Matlab中的GA工具箱,設(shè)置如下:
然后點(diǎn)擊Start按鈕開始優(yōu)化
結(jié)果
min: -1.9999999999719975 x = 0.16666739259256413 y = -0.5000001466254731
max: -1.9638487135569358 x= 0.19121141960284982 y = 1.2499963437299235
總結(jié)
以上是生活随笔為你收集整理的Matlab遗传算法工具箱求函数最小值的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [js] 说说防止重复发送ajax请求
- 下一篇: 前端学习(2847):css鼠标样式