Bizarre result of the sum() function in MATLAB

  • MATLAB
  • Thread starter mikeph
  • Start date
  • #1
1,233
17

Main Question or Discussion Point

Hello,

Am was trying to figure out why some code was not working and narrowed it down to a little loop that was not being executed.

x is a 4x1 vector with 0 or 1 as each element, eg. x = [0; 0; 1; 1]. The code was required to sum the columns and if this sum was positive (ie. if there were any nonzero elements) it would execute another loop.

The vector was [1; 1; 1; 1] and it was not executing, so I tested the code. Here is copy pasted results of me experimenting and eventually fixing the problem using "clear all" command:


Code:
x =
     1
     1
     1
     1
EDU>> sum(x)
ans =
    1.4142    1.4142         0         0
EDU>> sum(x')
ans =
    1.4142    1.4142         0         0
EDU>> x=[1;1;1;1]
x =
     1
     1
     1
     1
EDU>> sum(x)
ans =
    1.4142    1.4142    1.4142    1.4142
EDU>> r = [1,2,3]
r =
     1     2     3
EDU>> sum(r)
ans =
    1.4142    1.4142         0
EDU>> clear all
EDU>> r = [1,2,3]
r =
     1     2     3
EDU>> sum(r)
ans =
     6
The "clear all" seems to fix everything. But I can't figure out what was wrong. I wasn't doing anything out of the ordinary. Anyone have any ideas what was going wrong?

Thanks
Michael
 

Answers and Replies

  • #2
166
0
You probably accidentally defined sum to mean something else some place earlier. This would shadow the built in function until you cleared it.
 
  • #3
why are you trying to do this in the command window its easier to do this in a editor. just click the new script icon on the top left next to open project. this error might be because you had another variable name x thats messing with your results you can usually see in the workspace box. when you use clear all you release the data on all the variables you've been working on so far so thats why your new variable r is working
 

Related Threads on Bizarre result of the sum() function in MATLAB

  • Last Post
Replies
1
Views
4K
Replies
7
Views
905
Replies
6
Views
2K
Replies
7
Views
2K
Replies
1
Views
1K
Replies
2
Views
2K
Replies
6
Views
873
Replies
4
Views
2K
Replies
3
Views
8K
Replies
5
Views
78K
Top