MATLAB: Dissipation in frequency fft

fft

x=rand(1,8); for q=0:7 for r=0:7 if mod(r,2)==0 l(2r+1)=(x(r+1)+x(r+5))*exp(-1i*q*r*pi/2); else l(2r)=((x(r+1)-x(r+5))*exp(-1i*r*pi/2))*exp(-1i*q*r*pi/2); end end X(q+1)=sum(l); end
i got this error Attempted to access x(9); index out of bounds because numel(x)=8. any help

Best Answer

Your x vector is too short. You are trying to access up to index 7+5 in your equations. Make x 5 elements larger than the largest r index.
Related Question