У меня есть следующий фрагмент кода, и я пытаюсь вычислить матрицу коэффициентов, a_k
, чтобы решить линейную систему, чтобы получить h[n]
, импульсную характеристику. Я использую обратное быстрое преобразование Фурье.
N = 9; % period is chosen to be 16
n = 0:N-1; %vector for x must start at n = 0
for k = 1:9
y3 = zeros(1,9);
y3(k+1) = N/2;
y3(N - k + 1) = N/2;
end
x3 = ifft(y3);
figure;
subplot(2,2,1);stem(n,real(x3));xlabel('n'); //line 52
ylabel('real(x3)');axis([0 N-1 -1 1]);
subplot(2,2,2);stem(n,imag(x3));xlabel('n');
ylabel('imag(x3)');axis([0 N-1 -1 1]);
subplot(2,2,3);stem(n,real(y3)/N);xlabel('k');
ylabel('real(a_k)');axis([0 N-1 -1 1]);
subplot(2,2,4);stem(n,imag(y3)/N);xlabel('k');
ylabel('imag(a_k)');axis([0 N-1 -1 1]);
Однако, когда я запускаю этот код, я получаю следующую ошибку:
Error using stem (line 43)
X must be same length as Y.
Error in fft_examples (line 52)
subplot(2,2,1);stem(n,real(x3));xlabel('n');
Я не уверен, где я ошибаюсь. Я знаю, что матрица k
от 1 до 9. Следовательно, я сделал цикл for
. Значения y становятся несоответствующими.
t=[1, 2];
t(3) = 3;
даетt=[1, 2, 3]
. Строкаy3(k+1) = N/2;
всегда будет присваивать десятое значение в последнем цикле дляk=9
- person Maurits   schedule 26.02.2017stem
. Не в самом коде. - person   schedule 26.02.2017