jueves, 7 de abril de 2016

clase math

https://ayudamemoriaingenieriadesistemas.blogspot.com


MÉTODO       MATH



¿Que es  una  clase  Math?


Esta clase es como una biblioteca de métodos estáticos que nos permite realizar operaciones matemáticas.
Los métodos de los que te hablo son los siguientes:

A continuación, mostraremos las funciones más importantes  y ejemplos de uso:
Función matemática
 Significado
 Ejemplo de uso
 Resultado
 abs
 Valor absoluto
 int x = Math.abs(2.3);
 x = 2;
 atan
 Arcotangente
 double x = Math.atan(1);
 x = 0.78539816339744;
 sin
 Seno
 double x = Math.sin(0.5);
 x = 0.4794255386042;
 cos
 Coseno
 double x = Math.cos(0.5);
 x = 0.87758256189037;
 tan
 Tangente
 double x = Math.tan(0.5);
 x = 0.54630248984379;
 exp
 Exponenciación neperiana
 double x = Math.exp(1);
 x = 2.71828182845904;
 log
 Logaritmo neperiano
 double x = Math.log(2.7172);
 x = 0.99960193833500;
 pow
 Potencia
 double x = Math.pow(2.3);
 x = 8.0;
 round
 Redondeo
 double x = Math.round(2.5);
 x = 3;
 random
 Número aleatorio
 double x = Math.ramdom();
 x = 0.20614522323378;
 * Ejemplo de clase java usando la constante PI de la clase Math – aprenderaprogramar.com */
  public class Programa {
      public static void main(String args[]) {
             double sexagesimal = 30;
             double radianes = Math.PI/180 * sexagesimal;
             System.out.println("Angulo en radianes : "+radianes);
       }
 }


Funciones miembro

La clase Math define muchas funciones y versiones distintas de cada función.
Por ejemplo, para hallar el valor absoluto de un número define las siguientes funciones. Se llama a una u otra dependiendo del tipo de dato que se le pasa en su único argumento.
public final class Math {
    public static int abs(int a) {
 return (a < 0) ? -a : a;
    }
    public static long abs(long a) {
 return (a < 0) ? -a : a;
    }    
    public static float abs(float a) {
 return (a < 0) ? -a : a;
    }
    public static double abs(double a) {
 return (a < 0) ? -a : a;
    }
//...
}
Por ejemplo, hallar el valor absoluto de los siguientes números
    int i = -9;
    double x = 0.3498;    
    System.out.println("|" + i + "| es " + Math.abs(i));
    System.out.println("|" + x + "| es " + Math.abs(x));
Math.abs(i), llama a la primera versión, y Math.abs(x) llama a la última versión.

Funciones trigonométricas

En las funciones trigonométricas los argumentos se expresan en radianes. Por ejemplo, el ángulo 45º se convierte en radianes y luego se halla el seno, el coseno y la tangente
    double angulo = 45.0 * Math.PI/180.0;
    System.out.println("cos(" + angulo + ") es " + Math.cos(angulo));
    System.out.println("sin(" + angulo + ") es " + Math.sin(angulo));
    System.out.println("tan(" + angulo + ") es " + Math.tan(angulo));
Para pasar de coordenadas rectangulares a polares es útil la función atan2, que admite dos argumentos, la ordenada y la abscisa del punto. Devuelve el ángulo en radianes.
    double y=-6.2;  //ordenada
    double x=1.2;   //abscisa
    System.out.println("atan2(" + y+" , "+x + ") es " + Math.atan2(y, x));

Funciones exponencial y logarítmica

La función exponencial exp devuelve el número e elevado a una potencia
    System.out.println("exp(1.0) es " +  Math.exp(1.0));
    System.out.println("exp(10.0) es " + Math.exp(10.0));
    System.out.println("exp(0.0) es " +  Math.exp(0.0));
La función log calcula el logaritmo natural (de base e) de un número
    System.out.println("log(1.0) es " + Math.log(1.0));
    System.out.println("log(10.0) es " + Math.log(10.0));
    System.out.println("log(Math.E) es " + Math.log(Math.E));

Función potencia y raíz cuadrada

Para elevar un número x a la potencia y, se emplea pow(x, y)
   System.out.println("pow(10.0, 3.5) es " +  Math.pow(10.0,3.5));
 
Para hallar la raíz cuadrada de un número, se emplea la función sqrt
   System.out.println("La raíz cuadrada de " + x + " is " + Math.sqrt(x));

Aproximación de un número decimal

Para expresar un número real con un número especificado de números decimales empleamos la función round. Por ejemplo, para expresar los números x e y con dos cifras decimales escribimos
    double x = 72.3543;
    double y = 0.3498;
    System.out.println(x + " es aprox. " + (double)Math.round(x*100)/100);
    System.out.println(y + " es aprox. " + (double)Math.round(y*100)/100);
Se obtiene 72.35 y 0.35 como cabría esperar. Fijarse que round devuelve un número entero int que es necesario promocionar a double para efectuar la división entre 100.
Si empleamos la función floor en vez de round obtendríamos
     System.out.println(x + " es aprox. " + Math.floor(x*100)/100);
     System.out.println(y + " es aprox. " + Math.floor(y*100)/100);
Se obtiene 72.35 y 0.34. La aproximación del primero es correcta ya que la tercera cifra decimal es 4 inferior a 5. La aproximación del segundo es incorrecta ya que la tercera cifra decimal es 9 mayor que 5. En la mayor parte de los cálculos se cometen errores, por lo que la diferencia entre floor y round no es significativa.

El mayor y el menor de dos números

Para hallar el mayor y el menor de dos números se emplean las funciones min y max que comparan números del mismo tipo.
    int i = 7;
    int j = -9;
    double x = 72.3543;
    double y = 0.3498;
// para hallar el menor de dos número
    System.out.println("min(" + i + "," + j + ") es " + Math.min(i,j));
    System.out.println("min(" + x + "," + y + ") es " + Math.min(x,y));
// Para hallar el mayor de dos números
     System.out.println("max(" + i + "," + j + ") es " + Math.max(i,j));
     System.out.println("max(" + x + "," + y + ") es " + Math.max(x,y));

Números aleatorios

La clase Math define una función denominada random que devuelve un número pseudoaleatorio comprendido en el intervalo [0.0, 1.0). Existe otra alternativa, se pueden generar números pseudoaleatorios a partir de un objeto de la clase Randomque llame a la función miembro nextDouble.
    System.out.println("Número aleatorio: " + Math.random());
    System.out.println("Otro número aleatorio: " + Math.random());


0 comentarios:

Publicar un comentario

©Copyriht by hequis. Con tecnología de Blogger.

NUMERO DE VISITAS