Я пытаюсь реализовать одномерный DFT без использования встроенных функций Matlab, таких как fft(). Это мой кодMTIMES не поддерживается полностью для целых классов. Как минимум один вход должен быть скаляром
function [Xk] = dft1(xn)
N=length(xn);
n = 0:1:N-1; % row vector for n
k = 0:1:N-1; % row vecor for k
WN = exp(-1j*2*pi/N); % Twiddle factor (w)
nk = n'*k; % creates a N by N matrix of nk values
WNnk = WN .^ nk; % DFT matrix
Xk = (WNnk*xn);
, когда я запускаю код после того, как с помощью следующих команд:
I = imread('sample.jpg')
R = dft1(I)
я получаю эту конкретную ошибку: ошибки при использовании * MTIMES не полностью поддерживается для целых классов , По меньшей мере один вход должен быть скалярным. Чтобы вычислить по-разному TIMES, используйте вместо этого TIMES (. *).
Может кто-то пожалуйста, помогите мне понять, как решить эту проблему
Примечание: Я еще в самом начале уровня обучения Matlab большое спасибо
Уважаемый @rayryeng, пожалуйста, взгляните на этот вопрос, если у вас есть время, я бы очень признателен, если вы поможете мне решить его. вот ссылка: ссылка http://stackoverflow.com/questions/27237336/dividing- ан-изображение в-н-блок-в-ширина-и-вычисления-на-кр-точка-оф-е – Alladin