make our own signum

2 vues (au cours des 30 derniers jours)
Soveatin Kuntur
Soveatin Kuntur le 11 Mai 2021
Dear all,
is there any simple way to transform this javascript logic:
return value < 0 ? -1 : 1
into matlab

Réponse acceptée

Walter Roberson
Walter Roberson le 11 Mai 2021
Under the interpretation that nan values are not less than 0 (they are not greater than 0 either)
output = (value < 0) .* -2 + 1;
output(isnan(value)) = 1;
or
output = (value < 0) .* -1 + (value >= 0) .* 1
output(isnan(value)) = 1;
or
output = (value >= 0) - (value < 0);
output(isnan(value)) = 1;
or
output = sign(value) + (value == 0);
output(isnan(value)) = 1;
If you are certain that the values will never be NaN then you can simplify the code.

Plus de réponses (0)

Catégories

En savoir plus sur Time Series Events dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by