Matlab выдаёт мне сообщение об ошибке «Несоответствие размеров заданного назначения», однако я не думаю, что должна быть проблема. Код ниже, но в основном у меня есть временная матрица, которая имитирует размеры другой матрицы, testData (фактически ее подмножество). Я могу назначить вывод imread для временной матрицы, но не для подмножества testData с такими же размерами. Я даже могу использовать функцию размера, чтобы доказать, что они имеют одинаковые размеры, но один работает, а другой нет. Поэтому я установил temp = imread, а затем testData = temp, и это работает. Но зачем мне это делать?
fileNames = dir('Testing\*.pgm');
numFiles = size(fileNames, 1);
testData = zeros(32257, numFiles);
temp = zeros(32256, 1);
for i = 1 : numFiles,
fileName = fileNames(i).name;
% Extracts some info from the file's name and stores it in the first row
testData(1, i) = str2double(fileName(6:7));
% Here temp has the same dimensions as testData(2:end, i)
% yet testData(2:end, i) = imread(fileName) doesn't work
% however it works if I use temp as a "middleman" variable
temp(:) = imread(fileName);
testData(2:end, i) = temp(:);
end