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

2 件のコメント

Azzi Abdelmalek
Azzi Abdelmalek 2012 年 12 月 4 日
Ayman, Are you trying to program fft algorithm?
ayman osama
ayman osama 2012 年 12 月 4 日
yes it's an assignment to make the function using dissipation in frequency instead of using fft

サインインしてコメントする。

 採用された回答

John Petersen
John Petersen 2012 年 12 月 4 日
編集済み: John Petersen 2012 年 12 月 4 日

0 投票

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.

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Fourier Analysis and Filtering についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by