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

2 vues (au cours des 30 derniers jours)
Dimitrios
Dimitrios le 2 Oct 2014
Commenté : John D'Errico le 2 Oct 2014
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 commentaires
dpb
dpb le 2 Oct 2014
Modifié(e) : dpb le 2 Oct 2014
well, just to make sure let's see
all(y>0)
all(z(:)>0)
etc., ...
John D'Errico
John D'Errico le 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.

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by