За този проблем не разбирам защо моят MATLAB се срива всеки път, когато стартирам своя pca ред. Използвам pca върху матрица, съдържаща аномалните лица, както е описано по-долу:
pics.mat съдържа матрични данни от 40 изображения всяко с размери 96*64 пиксела. (матрица 96*64*40)
Моят код за този раздел е:
%% problem 1a: finding average face
load('pics.mat'); % loads the file
% combines the 3d matrix into a 2d matrix
total = [pics(:, :, 1)];
for i = 2:40
total = [total + pics(:, :, i)];
end
size(total) %96 by 64
A1 = total/40 % the average values divided by total # of faces for avg face
%% problem 1b: the anomalous face
Anom = [];
for i = 1:40
Anom(:, :, i) = [pics(:, :, i) - A1]; % subtract the average face from all 40 images
end
Това, с което имам проблем, е, че когато правя този раздел, който включва използването на pca върху 40-те аномални лица от част b, моят MATLAB се срива.
Моят код за този раздел е:
%% problem 1c I: pca
Anom = reshape(Anom, [6144 40]); % reshapes a 3d into 2d
[eigenfaces,scores,sigma2] = pca(Anom', 'Centered' ,'off'); % this crashes MATLAB
Защо това се срива? Дали е заради моя код от предишните раздели или е поради факта, че го изпълнявам на изключително анемичен лаптоп?