91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 8KB
    文件類型: .m
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-16
  • 語言: Matlab
  • 標簽:

資源簡介

基于最大類間方差的分割算法,可在MATLAB上直接運行

資源截圖

代碼片段和文件信息

%?function?superbest=star_opso(mnd)?
m=5;?
n=10;?
d=5;?
%基于組織的粒子群優化算法入口?
%m個組織,每個組織中有m個粒子?
%n為最大迭代次數?
%d為支撐基維數?
%函數opso-fun可改變,但同時支撐基的維數d也會改變?
%當函數OPSO_fun改變時注意函數opso_data和函數opso_vect中支撐基維數d的改變?
im=imread(‘lena.bmp‘);??%讀入待分割圖像?
if(?isrgb(?im?)?)?
????im?=?rgb2gray(?im?);?
end;?
[immimn]=size(im);??%計算待分割圖像的大小?
figure(1);imshow(im);title(‘Original‘);?
?
x=opso_data(m);??%x為粒子,初始化m*m個粒子的位置?
v=opso_vect(m);???%v為速度,初始化m*m個粒子的速度?
wmax=0.900000000001;?????%權重最大值?
wmin=0.4;?????%權重最小值?
c1=2.05;???%常系數?
c2=2.05;???%常系數?
for?i=1:m?
????for?j=1:m?
????????for?h=1:d?
????????????xx(h)=x(ijh);?
????????end?
????????x(ijd+1)=opso_fun1(xxdouble(im)immimnd);??????%計算每個粒子的值,并賦予粒子后?
????????v(ijd+1)=0;?
????end?
end?
for?i=1:m?
????for?j=1:m?
????????for?h=1:d+1?
???????????persongood(1ijh)=x(ijh);??????%粒子個體最優值初始化?
???????????persongood(2ijh)=v(ijh);??????%粒子個體最優速度初始化?
????????end?
????end?
end?
allbetter=opso_all_better(persongoodmd);??????%查找每個組織的最優值?
j=1;????????%查找整個組織最優值(小)?
for?i=1:m?
????if?allbetter(1id+1)<=allbetter(1jd+1)?
????????j=i;?
????end?
end?
y1=allbetter(1jd+1);???????%初始整個組織最優值(小)賦值?
y2=y1;?
for?k=1:n????????%開始迭代運算,k為迭代次數,n為最大迭代次數?
????w=wmax-(wmax-wmin)*k/n;?
????for?i=1:m?
????????for?j=1:m?
????????????for?h=1:d?
????????????????r1=rand(11);?
????????????????r2=rand(11);?
????????????????v(ijh)=w*v(ijh)+c1*r1*(persongood(1ijh)-x(ijh))+c2*r2*(allbetter(1ih)-x(ijh));????%更新粒子速度?
????????????????x(ijh)=x(ijh)+v(ijh);?????%更新粒子位置?
????????????end?
????????end?
????end?
????for?i=1:m?
????????for?j=1:m?
????????????for?h=1:d?
????????????????xx(h)=x(ijh);?
????????????end?
????????????x(ijd+1)=opso_fun1(xxdouble(im)immimnd);??????%計算更新后每個粒子的值,并賦予粒子后?
????????end?
????end?
????s=0;??????%記錄粒子個體最優值是否更新?
????for?i=1:m?
????????for?j=1:m?
????????????if?x(ijd+1)<=persongood(1ijd+1)?
???????????????for?h=1:d+1?
???????????????????persongood(1ijh)=x(ijh);??????%更新粒子個體最優值?
???????????????????persongood(2ijh)=v(ijh);??????%更新粒子個體最優速度??
???????????????end?
???????????????s=s+1;?
????????????end?
????????end?
????end?
????if?s~=0???????%當有粒子個體最優值更新時,計算組織的最優值(小)?
????????allbetter=opso_all_better(persongoodmd);??????%計算更新每個組織的最優值?
????????t=1;??????%查找迭代更新后組織最優值(小)?
????????for?i=1:m?
????????????if?allbetter(1id+1)<=allbetter(1td+1)??????
????????????????t=i;?
????????????end?
????????end?
????????y2=allbetter(1td+1);???????%整個組織最優值(小)賦值?
????end?
????if?y1~=y2?????%當整個組織最優值更新時,極值最差的組織遭到淘汰,隨之產生強勢組織?
????????h=1;??????%查找整個組織中最差(大)組織h?
????????for?i=1:m?
????????????if?allbetter(1id+1)>=allbetter(1hd+1)?
????????????????h=i;?
????????????end?
????????end?
????????for?i=1:m?
????????????for?j=1:d+1?
????????????????x(hij)=allbetter(1ij);????????????%更新第h個組織的每個粒子位置為組織最優位置?
????????????????v(hij)=allbetter(2ij);????????????%更新第h個組織的每個粒子速度為組織最優速度?
??????????????

評論

共有 條評論