what is the error with my code

3 vues (au cours des 30 derniers jours)
Mostafa Anwar
Mostafa Anwar le 3 Juin 2021
Modifié(e) : Adam Danz le 8 Juin 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)

Réponses (2)

Adam Danz
Adam Danz le 3 Juin 2021
Modifié(e) : Adam Danz le 8 Juin 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 le 3 Juin 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 commentaire
Adam Danz
Adam Danz le 3 Juin 2021
Modifié(e) : Adam Danz le 3 Juin 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.

Connectez-vous pour commenter.

Tags

Produits


Version

R2016b

Community Treasure Hunt

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

Start Hunting!

Translated by