How can it be possible the following calculation have negative values?

1 view (last 30 days)
I am using the followind code :
Output = bsxfun(@rdivide,(x*y'),z).*sqrt(k+n);
size(x) = 1x1
size(y) = 1x50
size(z) = 50x36
size(k) = 50x36
size(n) = 50x36
All values in the matrices are positive. I cant figure out why 2 values get negative in the output.How could it be possible?
  2 Comments
dpb
dpb on 2 Oct 2014
Edited: dpb on 2 Oct 2014
well, just to make sure let's see
all(y>0)
all(z(:)>0)
etc., ...
John D'Errico
John D'Errico on 2 Oct 2014
You say the numbers are positive, but are they real numbers though? For example...
(1+sqrt(-1)) > 0
ans =
1
When matlab does a compare with complex args here, it tests the real part, so it thinks that 1 + i is greater than 0.

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!