4D матричный расчет, проблема кодирования Matlab - PullRequest
0 голосов
/ 12 октября 2010

Эй, ребята, у меня возникли некоторые трудности.Это чисто алгоритмическая проблема.Итак, программа показана ниже:

for f=1:(nFrames-1)
    h=histogram(imgYuv(:,:,1,f));
    j=histogram(imgYuv(:,:,1,f+1));
    X=abs(h-j)/256; %normalize the difference
    S=sum(X);
end

По сути, я хочу вычислить разницу между двумя соседними элементами и сохранить результат суммирования в одномерном массиве S.Но результат, который я получил от вышеупомянутой программы, - одно единственное число.Я ожидал, что это будет одномерный массив, потому что f варьируется от 1 до nFrames-1.Кто-нибудь может мне помочь с этим?Спасибо!

1 Ответ

0 голосов
/ 12 октября 2010

Последняя строка цикла for должна быть:

for f=1:(nFrames-1)
    %# ...
    S(f) = sum(X);
end

при условии, что вектор S уже выделен: S = zeros(nFrames-1,1);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...