elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 01:47  


Tema destacado: Únete al Grupo Steam elhacker.NET

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java (Moderadores: Debci, Leyer)
| | | |-+  como calcular el seno y el coseno en java???????????
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: como calcular el seno y el coseno en java???????????  (Leído 9,348 veces)
casidus

Desconectado Desconectado

Mensajes: 33


Ver Perfil
como calcular el seno y el coseno en java???????????
« en: 10 Febrero 2010, 22:38 »

hola me gustaria saber como calcular el seno y el coseno en java sin usar el math.sin ni el math.cos
esk llevo bastante intentandolo mediante el teotema de taylor pero nada no me sale ni para atras.


gracias por todo


En línea
egyware


Desconectado Desconectado

Mensajes: 436


GameDeveloper


Ver Perfil WWW
Re: como calcular el seno y el coseno en java???????????
« Respuesta #1 en: 10 Febrero 2010, 22:56 »

Wow, es un poco reinventar la rueda pero bueno
tienes 2 opciones linkear nativamente(usando JNI) y usar las funciones de C sin y cos o hacer el teorema de taylor.
Mira como consejo asegurate de tener una buena aproximacion como 2 o más decimales
Para eso desarrolla algunas series de Taylor no se talves hasta n = 4
http://es.wikipedia.org/wiki/Coseno#El_coseno_como_serie_de_Taylor
Por qué no posteas lo que llevas yo una vez hice la funcion logaritmo natural en java sin usar Math pero tenia como 4 decimales exactos
bueno postea lo que llevas y ahi te ayudamos ;)
Saludos


En línea

casidus

Desconectado Desconectado

Mensajes: 33


Ver Perfil
Re: como calcular el seno y el coseno en java???????????
« Respuesta #2 en: 10 Febrero 2010, 23:16 »

si echo no tengo nada esk lo intento hace a papel para haber si me acuerdo como se hacia pero nada
En línea
egyware


Desconectado Desconectado

Mensajes: 436


GameDeveloper


Ver Perfil WWW
Re: como calcular el seno y el coseno en java???????????
« Respuesta #3 en: 10 Febrero 2010, 23:25 »

si echo no tengo nada esk lo intento hace a papel para haber si me acuerdo como se hacia pero nada
Bueno eso es distinto prueba buscando en google,
recuerda que Taylor es una funcion aproximada a otra funcion.
En línea

casidus

Desconectado Desconectado

Mensajes: 33


Ver Perfil
Re: como calcular el seno y el coseno en java???????????
« Respuesta #4 en: 10 Febrero 2010, 23:32 »

algo asi para el coseno estaria bien
 
Código
    public static double coseno(double x)
 
     {
 
        int i;
 
        double s = 0;
 
        int signo = 1;
 
 
 
        for(i=0; i<10; i+=2)
 
        {
 
           s += signo*pow(x, i) / factorial(i);
 
           signo *= -1;
 
        }
 
 
 
        return s;
 
     }
 

y para el seno esto??

Código
   public static double seno(double x)
 
     {
 
        int i;
 
        double s = 0;
 
        int signo = 1;
 
 
 
        for(i=1; i<10; i+=2)
 
        {
 
           s += signo*pow(x, i) / factorial(i);
 
           signo *= -1;
 
        }
 
 
 
        return s;
 
     }
 
« Última modificación: 15 Septiembre 2011, 21:34 por Debci » En línea
casidus

Desconectado Desconectado

Mensajes: 33


Ver Perfil
Re: como calcular el seno y el coseno en java???????????
« Respuesta #5 en: 10 Febrero 2010, 23:57 »

programa echo al final me ha salido

Código:

   import cs1.Keyboard;
   import java.io.*;
   import java.util.*;
    public class EX04 {
    
    
       public static float cosinus (float graus)
      
      {
      
         int i;
      
         float s = 0;
      
         int signo = 1;
      
      
      
         for(i=0; i<10; i+=2)
        
         {
        
            s += signo*pow(graus, i) / factorial(i);
        
            signo *= -1;
        
         }
      
      
      
         return s;
      
      }
  
  
  
       public static float sinus (float graus)
      
      {
      
         int i;
      
         float s = 0;
      
         int signo = 1;
      
      
      
         for(i=1; i<10; i+=2)
        
         {
        
            s += signo*pow(graus, i) / factorial(i);
        
            signo *= -1;
        
         }
      
      
      
         return s;
      
      }
  
  
  
       public static float factorial(int graus)
      
      {
      
         int i;
      
         float fact = 1;
      
      
      
         for(i=1; i<=graus; i++)
        
            fact *= i;
      
      
      
         return fact;
      
      }
  
  
  
       public static float pow(float graus, int n)
      
      {
      
      
      
         int i;
      
         float pow =1;
      
      
      
         if(graus==0)
            return 0;
      
      
      
         for(i=1; i<=n; i++)
        
            pow = pow*graus;
      
      
      
         return pow;
      
      }
    
  
       public static void main(String args[]) {
         float graus, cos,sin;
         System.out.println("entra el valor per saber el sinus y el cossinus: ");
         graus=Keyboard.readFloat();
         graus=graus*(float)(Math.PI/180);
        
         cos=cosinus(graus);
         sin=sinus(graus);
         System.out.println("Sinus: "+sin);
         System.out.println("cosinus: "+cos);
      
      }
  
  
  
  
      
   }

supongo k esta bien sino, ya me direis algo, tiene algo de perdida de precision pero es k para este ejercicio nos hacen usar floats
En línea
egyware


Desconectado Desconectado

Mensajes: 436


GameDeveloper


Ver Perfil WWW
Re: como calcular el seno y el coseno en java???????????
« Respuesta #6 en: 11 Febrero 2010, 00:18 »

 ;-) bien felicitaciones
bueno si quieres mas precision ajusta la funcion de taylor que calcule mas numero por supuesto eso conlleva mas tiempo de cpu
Saludos
En línea

casidus

Desconectado Desconectado

Mensajes: 33


Ver Perfil
Re: como calcular el seno y el coseno en java???????????
« Respuesta #7 en: 11 Febrero 2010, 00:22 »

k tendria k ajustar para mas precision????
En línea
egyware


Desconectado Desconectado

Mensajes: 436


GameDeveloper


Ver Perfil WWW
Re: como calcular el seno y el coseno en java???????????
« Respuesta #8 en: 11 Febrero 2010, 00:29 »

Recuerda que Taylor es una serie que tiende al infinito, lamentablemente el infinito no esta en la computadora
para eso se usa las series evaluadas en un numero, por ejemplo vi por ahi un for talvez aumentando el rango del for puedas obtener unos decimales mas de precision.
En línea

armandor10

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: como calcular el seno y el coseno en java???????????
« Respuesta #9 en: 14 Septiembre 2011, 04:24 »

Hola amigo lo que pasa es que no entiendo la parte de las 2 funciones que hicistes del sinus y cossinus dentro de estas tienen el mismo codigo y sin embargo dan valores completamente diferentes... si me puedes explicar te agradeceria
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Cómo calcular el %?
Overclocking y Refrigeración
InMortal..? 1 899 Último mensaje 27 Octubre 2011, 20:22
por InMortal..?
Teorema del seno
Programación C/C++
ChicoMaravilla 3 294 Último mensaje 10 Noviembre 2011, 13:55
por ChicoMaravilla
Ayuda! Calcular determinante en Java
Java
fMtQr 2 566 Último mensaje 3 Marzo 2012, 23:01
por fMtQr
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines