Математическая модель метода главных компонент

Страница: 4/4

{------нормируем собственные векторы - находим матрицу v---------}

for j:=1 to m do

begin

s:=0;

for i:=1 to m do

s:=s+u[i,j]*u[i,j];

for i:=1 to m do

v[i,j]:=u[i,j]/sqrt(s)

end;

{--выводим нормированную матрицу собственных векторов на экран---}

writeln('Матрица нормированных собственных векторов V:');

out(v);

{---------находим матрицу факторного отображения a----------}

for i:=1 to m do

for j:=1 to m do

begin

s:=0;

for k:=1 to m do

s:=s+v[i,k]*sqrt(l[k,j]);

a[i,j]:=s

end;

{--------выводим матрицу факторного отображения---------}

writeln('Матрица факторного отображения A:');

out(a);

{===находим матрицу, обратную a, методом m-кратного пересчета===}

for k:=1 to m do

{-----цикл пересчета-----}

begin

for i:=1 to m do

for j:=1 to m do

if (i=k) or (j=k)

then

if i=j

then

a_1[i,j]:=-1/a[i,j]

else

a_1[i,j]:=-a[i,j]/a[k,k]

else

a_1[i,j]:=a[i,j]-a[i,k]*a[k,j]/a[k,k];

for i:=1 to m do

for j:=1 to m do

a[i,j]:=a_1[i,j]

end;

for i:=1 to m do

for j:=1 to m do

a_1[i,j]:=-a[i,j];

{------===находим матрицу значений главных компонент F===-------}

for i:=1 to m do

for j:=1 to n do

begin

s:=0;

for k:=1 to m do

s:=s+a_1[i,k]*z[j,k];

f[i,j]:=s

end;

{-------выводим матрицу F на экран в транспонированном виде-------}

writeln('Матрица значений главных компонент F:');

for i:=1 to n do

begin

for j:=1 to m do

write(' ',f[j,i]:3:3,' ');

writeln

end;

writeln;

readln;

End.

Реферат опубликован: 30/04/2008