Attempted to access y(2); index out of bounds because numel(y)=1. Error in ==> dft at 9 z(k)=y(k)+y(i)*(exp(-i*2*pi/n)^k*i);
1 次查看(过去 30 天)
显示 更早的评论
this is the code i'm working out but i'm getting some errors pls help in in solving this...
clc
clear all
close all
x=input('enter x:')
n=length(x)
for k=1:n
y(k)=0
for i=1:n
z(k)=y(k)+y(i)*(exp(-i*2*pi/n)^k*i);
end
end
z
0 个评论
回答(1 个)
Julia
2014-8-13
编辑:Julia
2014-8-13
Hi,
You do not define the size of y (I guess the same size as x). So you get for k=1 y(1) but try to access y(2), y(3), ... , y(n) in the second for loop. k stays 1 while i increases. Preallocating the size of y should solve your problem.
>> x = [1 2 3 4]
x =
1 2 3 4
>> y=zeros(1,length(x))
y =
0 0 0 0
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!