Métodos de Math
Los métodos son las operaciones y funciones matemáticas que proporciona el objeto Math.Recuerda que son métdos estáticos y que se debn usar con el el prefijo Math.
Como no son demasiados podemos resumirlos en una lista. Recuerda que las funciones trigonométricas trabajan con angulos en radianes. Los senos, cosenos y sus inversos usan radianes, no grados. Por si no te acuerdas 180º (media circunferencia) son PI radianes
- Math.abs(x)
- Nos da el valro absoluto del argumento, o sea, el argumento sin signo
- Math.cos( x )
- Nos da el coseno del argumento (ángulo en radianes)
- Math.acos(x)
- Angulo cuyo coseno es el valor del argumento, o sea, inversa del coseno.
- Math.sin()
- Nos da el seno del argumento (ángulo en radianes)
- Math.asin()
- Ángulo cuyo seno es el argumento
- Math.tan()
- Nos da la tangente del argumento (ángulo en radianes)
- Math.atan(x)
- Ángulo cuya tangente es el argumento
- Math.atan2(x, y)
- Angulo cuya tangente es el cociente de sus argumentos, x/y
- Math.cosh(x)
- Calcula el coseno hiperbólico del argumento
- Math.acosh()
- Inversa del coseno hierbólico
- Math.sinh(x)
- Calcula el seno hiperbólico del argumento
- Math.asinh()
- Inversa del seno hierbólico
- Math.tanh()
- Calcula la tangente hiperbólica del argumento
- Math.atanh()
- Inversa de la tangente hierbólica
- Math.log( x )
- Logaritmo natural (con base e) del argumento
- Math.log1p( x )
- Logaritmo natural (con base e) del argumento + 1.
- Math.log10( x )
- Logaritmo decimal (con base 10) del argumento
- Math.log2()
- Logaritmo con base 2 del argumento
- Math.cbrt( x )
- Raiz cúbica del argumento
- Math.sqrt( x )
- Raiz cuadrada del argumento
- Math.pow( x, y )
- Calcula la potencia de un número, x elevado a y.
- Math.exp( x )
- Calcula un exponenecial, o seal el número e elevado al argumento
- Math.expm1()
- Un exponencial menos 1, o sea, ex - 1
- Math.hypot(x, y)
- Por si no te acuerdas de Pitágoras, o sea, calcula la hipoteneusa a partir de los catetos en un triángulo rectángulo.
- Math.ceil( x )
- Redondea el argumento al entero superior mas próximo
- Math.floor( x )
- Redondea el argumento al entero inferior más próximo
- Math.round( x )
- Redondea el argumento al entero más próximo. El 0..5 lo redondea por encima
- Math.trunc( x )
- Trunca un número y devuelve la parte entera
- Math.fround( x )
- Redondea el argumento a un entero con formato de 32bits. Cuidado porque esto puede dar resultados extraños ya que Javascript internamente trabaja en coma flotante con 64 bits.
- Math.clz32( x )
- Número de ceros en un la representación binaria del argumento en formato de 32 bits
- Math.imul( x, y)
- Multiplica x*y, pero lo hace en formato 32 bis con semántica de C. Ya, un poco rebuscado.
- Math.max( x1, x2, x3 ...)
- Devuelve el máximo de sus argumentos
- Math.min( x1, x2, x3 ...)
- Devuelve el mínimo de sus argumentos
- Math.random()
- Devuelve un valor aleatorio con un valor igual o mayor que cero y menor que 1. Bueno pseudo aleatorio, en el ordenador no hay nada aleatorio.
- Math.sign( x )
- Indica si un número es positivo (1 ) o negativo (-1)
Veamos algunos ejemplos de uso
var ang_rad = 1.7;
var seno;
seno = Math.sin(ang_rad);
console.log("Seno de "+ang_rad+": "+ seno);
console.log("Arco seno "+ seno +": "+Math.asin(seno));
Como véis el nivel de error de los cálculos es a tener en cuenta (la calculadora de windows comete el mismo nivel de error). Y el nivel de precisión puede variar incluso con el navegador...
var base = 3;
var alto = 4;
var hipotenusa
hipotenusa = Math.hypot(base,alto);
console.log("Hipotenusa: "+ hipotenusa );
Esta vez lo ha clavado. Para resolver un triángulo recángulo parece que va bien.
Y para terminar un número aleatorio de 0 a 100
var maximo = 100;
var azar;
azar = Math.random()*100;
azar = Math.round(azar)
console.log("Al azar 0 a 100: "+ azar);
El método random() solo da números desde 0 a 0.99999.... Entonces multiplico por 100 y redondeo para tener un entero. El número más multiplicado por 100 es 99.999999, al redondearlo tenemos 100