what is the error with my code

1 visualizzazione (ultimi 30 giorni)
Mostafa Anwar
Mostafa Anwar il 3 Giu 2021
Modificato: Adam Danz il 8 Giu 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)

Risposte (2)

Adam Danz
Adam Danz il 3 Giu 2021
Modificato: Adam Danz il 8 Giu 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 il 3 Giu 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 Commento
Adam Danz
Adam Danz il 3 Giu 2021
Modificato: Adam Danz il 3 Giu 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.

Accedi per commentare.

Categorie

Scopri di più su Signal Generation, Manipulation, and Analysis in Help Center e File Exchange

Tag

Prodotti


Release

R2016b

Community Treasure Hunt

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

Start Hunting!

Translated by