Not enough input arguments. length()

32 views (last 30 days)
Patrick Arraki
Patrick Arraki on 22 May 2021
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 Comments
Les Beckham
Les Beckham on 22 May 2021
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 on 22 May 2021
Edited: per isakson on 22 May 2021
How did you call the DFT ? What was the value of s ?

Sign in to comment.

Answers (1)

Kiran Felix Robert
Kiran Felix Robert on 7 Jun 2021
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.

Categories

Find more on Historical Contests in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!