Not enough input arguments. length()

20 次查看(过去 30 天)
Hey,
I wrote a function that should execute a DFT. I know there is FFT, but it's a college job.I don't understand why length doesn't work for the best of me.mainly because it worked without any problems in previous functions.
Could someone tell me what I'm doing wrong?
I googled and only found solutions to problems caused by misspellings.
Here is my code:
function[S] = DFT(s)
N = length(s); %<- thats what the error caused
X = 1:N;
for m = 1 : N
for k = 1 : N
X(m) = X(m) + s(k) * exp(-(1i*pi*2*k*m*(1/N)));
S(m) = X(m);
end
end
end
  2 个评论
Les Beckham
Les Beckham 2021-5-22
How did you call the function? You can't just press the Run button. You need to provide the input data.
per isakson
per isakson 2021-5-22
编辑:per isakson 2021-5-22
How did you call the DFT ? What was the value of s ?

请先登录,再进行评论。

回答(1 个)

Kiran Felix Robert
Hi Partick,
Check the input argument when you call the DFT Function.
When you call from the command-line, provide sufficient input arguments.
On the Run button, use the extra options (type code to run) and provide proper input arguments to the function.
Try using a break point just after calling the function to debug the input argument data type.

类别

Help CenterFile Exchange 中查找有关 Mathematics 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by