i dont know why my code is not working..

3 visualizaciones (últimos 30 días)
okan
okan el 24 de Dic. de 2014
Editada: Yona el 25 de Dic. de 2014
if true
fs = 200;
Ts = 1/fs;
t = 0:Ts:50; % Zaman vektörü
u2=sin(2.*pi.*(1+5.*t).*t);
N=ceil(log2(length(u2)));
for k=1:N
X(k)=0;
for n=1:N
X(k)=X(k)+u2(n).*exp(-1j.*2.*pi.*(n-1).*(k-1)./N);
end
end
Pyy=X.*conj(X);
f=fs*(0:(2^(N-1)-1))/2^N;
figure(1),plot(f,Pyy(1:2^(N-1)));
[MAX, MAXidx] = max(Pyy(1:2^(N-1)));
hold on
plot(f(MAXidx), MAX,'or')
end
Index exceeds matrix dimensions.

Respuestas (1)

Yona
Yona el 24 de Dic. de 2014
plot(f,Pyy(1:2^(N-1)));
the length of pyy in 14 so you cannot take cell number 16384 (2^13).
another problem: length(f)=8196 so length(Pyy) need to be the same.
  3 comentarios
okan
okan el 24 de Dic. de 2014
btw when i use that
if true
fs = 200; % Örnekleme frekansı fs
Ts = 1/fs; % Öernekleme periyodu Ts
% Oluşturacağımız sinyaldeki frekanslar
t = 0:Ts:50; % Zaman vektörü
u2=sin(2.*pi.*(1+5.*t).*t);
noise=u2+0.5*randn(size(t));
N=ceil(log2(length(u2)));
X=fft(noise);
Pyy=X.*conj(X);
f=fs*(0:(2^(N-1)-1))/2^N;
figure(1),plot(f,Pyy(1:2^(N-1)));
[MAX, MAXidx] = max(Pyy(1:2^(N-1)));
hold on
plot(f(MAXidx), MAX,'or')
figure(1),ylabel('Genlik');
figure(1),xlabel('Zaman (s)');
figure(1),grid;
end
its working but i shouldn't use fft command for my homework
Yona
Yona el 24 de Dic. de 2014
Editada: Yona el 25 de Dic. de 2014
In your error-file length(X)=14 and in correct-file it 1001. try to check why it append, it probably will fix your problem

Iniciar sesión para comentar.

Categorías

Más información sobre Linear Algebra en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by