what is the error with my code

1 view (last 30 days)
Mostafa Anwar
Mostafa Anwar on 3 Jun 2021
Edited: Adam Danz on 8 Jun 2021
N = 4;
x = [ 3 4 5 6 ];
for k = 0 : N-1
for n=0:N-1
sum = sum + x.*(exp(-1*1i*2*pi*k.*n/N));
end
end
stem(sum)

Answers (2)

Adam Danz
Adam Danz on 3 Jun 2021
Edited: Adam Danz on 8 Jun 2021
> what is the error with my code
The error is,
N = 4;
x = [ 3 4 5 6 ];
for k = 0 : N-1
for n=0:N-1
sum = sum + x.*(exp(-1*1i*2*pi*k.*n/N));
% ^^^ ERROR
end
end
Error using sum
Not enough input arguments.
stem(sum)
What is causing the error (the question you intended to ask)?
sum() is a very commonly used Matlab function.
You're using it as a variable name but Matlab doesn't know it's a variable name because you haven't declared it as a variable by assiging a value to it.
Solution
Don't use sum as a variable name.

Mahaveer Singh
Mahaveer Singh on 3 Jun 2021
% give the initial value of sum.
% like sum=0 (initial vlue of sum)
N = 4;
x = [ 3 4 5 6 ];
sum=0;
for k = 0 : N-1
for n=0:N-1
sum = sum + x.*(exp(-1*1i*2*pi*k.*n/N));
end
end
stem(y)
  1 Comment
Adam Danz
Adam Danz on 3 Jun 2021
Edited: Adam Danz on 3 Jun 2021
Even if this is within its own function workspace, I advise against using sum as a variable name.
  1. It's a very commonly used Matlab function.
  2. It makes the code more difficult to read because when people see sum they expected it to be the function.

Sign in to comment.

Categories

Find more on Get Started with DSP System Toolbox in Help Center and File Exchange

Tags

Products


Release

R2016b

Community Treasure Hunt

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

Start Hunting!