matlab常用的幾個(gè)適應(yīng)度評(píng)價(jià)函數(shù)_第1頁(yè)
matlab常用的幾個(gè)適應(yīng)度評(píng)價(jià)函數(shù)_第2頁(yè)
matlab常用的幾個(gè)適應(yīng)度評(píng)價(jià)函數(shù)_第3頁(yè)
matlab常用的幾個(gè)適應(yīng)度評(píng)價(jià)函數(shù)_第4頁(yè)
matlab常用的幾個(gè)適應(yīng)度評(píng)價(jià)函數(shù)_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

/niuyongjie/article/details/1619496

粒子群算法(6)-----幾個(gè)適應(yīng)度評(píng)價(jià)函數(shù)下面給出幾個(gè)適應(yīng)度評(píng)價(jià)函數(shù),并給出圖形表示

頭幾天機(jī)子種了病毒,重新安裝了系統(tǒng),不小心把程序全部格式化了,痛哭?。?!沒辦法,好多程序不見了,現(xiàn)在把這幾個(gè)典型的函數(shù)重新編寫了,把他們給出來,就算粒子群算法的一個(gè)結(jié)束吧!痛恨病毒?。。?!第一個(gè)函數(shù):Griewank函數(shù),圖形如下所示:適應(yīng)度函數(shù)如下:(為了求最大值,我去了所有函數(shù)值的相反數(shù))

function

y

=

Griewank(x)

%

Griewan函數(shù)

%

輸入x,給出相應(yīng)的y值,在x

=

(

0

,

0

,…,

0

)處有全局極小點(diǎn)0.

%

編制人:

%

編制日期:

[row,col]

=

size(x);

if

row

>

1

error(

'

輸入的參數(shù)錯(cuò)誤

'

);

end

y1

=

1

/

4000

*

sum(x.

^

2

);

y2

=

1

;

for

h

=

1

:col

y2

=

y2

*

cos(x(h)

/

sqrt(h));

end

y

=

y1

-

y2

+

1

;

y

=-

y;繪制函數(shù)圖像的代碼如下:function

DrawGriewank()

%

繪制Griewank函數(shù)圖形

x

=

[

-

8

:

0.1

:

8

];

y

=

x;

[X,Y]

=

meshgrid(x,y);

[row,col]

=

size(X);

for

l

=

1

:col

for

h

=

1

:row

z(h,l)

=

Griewank([X(h,l),Y(h,l)]);

end

end

surf(X,Y,z);

shading

interp第二個(gè)函數(shù):Rastrigin函數(shù),圖形如下所示:適應(yīng)度函數(shù)如下:(為了求最大值,我去了所有函數(shù)值的相反數(shù))

function

y

=

Rastrigin(x)

%

Rastrigin函數(shù)

%

輸入x,給出相應(yīng)的y值,在x

=

(

0

,

0

,…,

0

)處有全局極小點(diǎn)0.

%

編制人:

%

編制日期:

[row,col]

=

size(x);

if

row

>

1

error(

'

輸入的參數(shù)錯(cuò)誤

'

);

end

y

=

sum(x.

^

2

-

10

*

cos(

2

*

pi

*

x)

+

10

);

y

=-

y;繪制函數(shù)圖像的代碼如下:function

DrawRastrigin()

%

繪制Rastrigin函數(shù)圖形

x

=

[

-

5

:

0.05

:

5

];

y

=

x;

[X,Y]

=

meshgrid(x,y);

[row,col]

=

size(X);

for

l

=

1

:col

for

h

=

1

:row

z(h,l)

=

Rastrigin([X(h,l),Y(h,l)]);

end

end

surf(X,Y,z);

shading

interp第三個(gè)函數(shù)Schaffer函數(shù),圖形如下所示:函數(shù)的代碼如下,因?yàn)樵摵瘮?shù)在(0,...,0)處有最大值1,因此不需要取相反數(shù)。[c-sharp]

\o"viewplain"viewplain\o"copy"copyfunction

result=Schaffer(x1)

%Schaffer

函數(shù)

%輸入x,給出相應(yīng)的y值,在x=(0,0,…,0)

處有全局極大點(diǎn)1.

%編制人:

%編制日期:

[row,col]=size(x1);

if

row>1

error('輸入的參數(shù)錯(cuò)誤');

end

x=x1(1,1);

y=x1(1,2);

temp=x^2+y^2;

result=0.5-(sin(sqrt(temp))^2-0.5)/(1+0.001*temp)^2;

繪制函數(shù)代碼圖形的代碼如下:[c-sharp]

\o"viewplain"viewplain\o"copy"copyfunction

DrawSchaffer()

x=[-5:0.05:5];

y=x;

[X,Y]=meshgrid(x,y);

[row,col]=size(X);

for

l=1:col

for

h=1:row

z(h,l)=Schaffer([X(h,l),Y(h,l)]);

end

end

surf(X,Y,z);

shading

interp

第四個(gè)函數(shù):Ackley函數(shù),函數(shù)圖形如下:函數(shù)的代碼如下,因?yàn)樵摵瘮?shù)在(0,...,0)處有最小值0,因此需要取相反數(shù)[c-sharp]

\o"viewplain"viewplain\o"copy"copyfunction

result=Ackley(x)

%Ackley

函數(shù)

%輸入x,給出相應(yīng)的y值,在x=(0,0,…,0)

處有全局極小點(diǎn)0,為得到最大值,返回值取相反數(shù)

%編制人:

%編制日期:

[row,col]=size(x);

if

row>1

error('輸入的參數(shù)錯(cuò)誤');

end

result=-20*exp(-0.2*sqrt((1/col)*(sum(x.^2))))-exp((1/col)*sum(cos(2*pi.*x)))+exp(1)+20;

result=-result;

繪制函數(shù)代碼圖形的代碼如下:[c-sharp]

\o"viewplain"viewplain\o"copy"copyfunction

DrawAckley()

%繪制Ackley函數(shù)圖形

x=[-8:0.1:8];

y=x;

[X,Y]=meshgrid(x,y);

[row,col]=size(X);

for

l=1:col

for

h=1:row

z(h,l)=Ackley([X(h,l),Y(h,l)]);

end

end

surf(X,Y,z);

shading

interp

第五個(gè)函數(shù)是:Rosenbrock函數(shù),該函數(shù)在(1,...,1)處有最小值0,為了得到最大值,取函數(shù)值的相反數(shù)。函數(shù)圖形如下所示

函數(shù)的代碼:

[c-sharp]

\o"viewplain"viewplain\o"copy"copyfunction

result=Rosenbrock(x)

%Rosenbrock

函數(shù)

%輸入x,給出相應(yīng)的y值,在x=(1,1,…,1)

處有全局極小點(diǎn)0,為得到最大值,返回值取相反數(shù)

%編制人:

%編制日期:

[row,col]=size(x);

if

row>1

error('輸入的參數(shù)錯(cuò)誤');

end

result=100*(x(1,2)-x(1,1)^2)^2+(x(1,1)-1)^2;

result=-result;

繪制函數(shù)圖形的代碼如下:[c-sharp]

\o"viewplain"viewplain\o"copy"copyfunction

DrawRosenbrock()

%繪制Rosenbrock函數(shù)圖形,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論