Тому есть 2 причины, 1 - чисто техническая - нужно убрать постоянную составляющую.
для этого используется процедура двойного центрирования:
ms=sum(a)/N;
mm=sum(ms)/N;
L=ones(N,1)*ms;
b=L+L'-mm;
ac=a-b;
(это нужно потому, что N мерное пространство задаётся с помощью минимум N+1 точек).
Вторая причина в том, что ранг матрицы должен значимо не отличаться от 2, т.е. только 2 старшие собственные числа должны значимо отличаться от нуля, остальные - статистически не значимы. Чтобы это проверить - есть специальные статистические критерии.
Почему не получается точно даже при численном эксперименте? - видимо погрешности округления. В натурном эксперименте к ним прибавятся ещё и погрешности измерений. (Наверное Вам теперь понятно, почему 4-е измерение попросту можно и не заметить).
Не углубляясь в статистику, можно построить график распределения сингулярных чисел
[u s v]=svd(ac);
sd=diad(s);
plot(sd);
на этом графике 2 старших собственных числа будут отличаться от всех остальных, чем больше наблюдений Вы возьмёте, тем больше будут эти различия. Если Вы возьмёте 3 независимые координаты, то будет 3 старших собственных числа, резко выделяющиеся на фоне остальных, и т.д.
Нужно так же учитывать, так как у Вас координаты случайные, то все точки в теории могут лечь на прямую линию даже в 4-х мерном пространстве, но от этого оно одномерным не станет. Чтобы этого избежать, 4 объекта желательно зафиксировать так, чтобы они точно не лежали в одной плоскости, а образовывали что то близкое к тетраэдру, и сделать несколько измерений, для разных положений 5-го объекта.