Моделирование технических систем. Дьячков Ю.А - 167 стр.

UptoLike

167
if nk<2 then nk:=2;
{Назначение центров классов}
for ic:=1 to nk do begin
Randomize;
ck[ic]:=1+Random(n-1);
cck:=ck[ic];
for j:=1 to m do begin
z[ic,j]:=x[cck,j];
end;
end;
end;
Procedure optim_class;
begin
nkopt:=nk;
optk:=k;
iraopt:=ira;
for ic:=1 to nk do begin
for i:=1 to n do begin
{Принадлежность объектов к классам}
optduu[i]:=duu[i];
for j:=1 to m do begin
zopt[ic,j]:=z[ic,j];
end;end;
end;end;
Procedure ch_kr;
{Определение среднего расстояния между
объектами класса и его центром}
begin
for ic:=1 to nk do begin
dz[ic]:=0;end;
dzz:=0;ddzz:=0;
for ic:=1 to nk do begin
for i:=1 to n do begin
if duu[i]=ic then begin
for j:=1 to m do begin
dz[ic]:=dz[ic]+(z[ic,j]-x[i,j])*(z[ic,j]-x[i,j])/nkl[ic];
end;end;
 if nk<2 then nk:=2;
{Назначение центров классов}
 for ic:=1 to nk do begin
 Randomize;
 ck[ic]:=1+Random(n-1);
 cck:=ck[ic];
 for j:=1 to m do begin
 z[ic,j]:=x[cck,j];
 end;
 end;
end;

Procedure optim_class;
begin
nkopt:=nk;
optk:=k;
iraopt:=ira;
for ic:=1 to nk do begin
 for i:=1 to n do begin
{Принадлежность объектов к классам}
 optduu[i]:=duu[i];
 for j:=1 to m do begin
 zopt[ic,j]:=z[ic,j];
 end;end;
 end;end;

Procedure ch_kr;
{Определение среднего расстояния между
объектами класса и его центром}
begin
for ic:=1 to nk do begin
 dz[ic]:=0;end;
 dzz:=0;ddzz:=0;
for ic:=1 to nk do begin
 for i:=1 to n do begin
 if duu[i]=ic then begin
 for j:=1 to m do begin
 dz[ic]:=dz[ic]+(z[ic,j]-x[i,j])*(z[ic,j]-x[i,j])/nkl[ic];
 end;end;
                                167