elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  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 36,165 veces)
casidus

Desconectado Desconectado

Mensajes: 39


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

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: 526



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

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: 39


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

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: 526



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

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: 39


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

algo asi para el coseno estaria bien
 
Código
  1.    public static double coseno(double x)
  2.  
  3.      {
  4.  
  5.         int i;
  6.  
  7.         double s = 0;
  8.  
  9.         int signo = 1;
  10.  
  11.  
  12.  
  13.         for(i=0; i<10; i+=2)
  14.  
  15.         {
  16.  
  17.            s += signo*pow(x, i) / factorial(i);
  18.  
  19.            signo *= -1;
  20.  
  21.         }
  22.  
  23.  
  24.  
  25.         return s;
  26.  
  27.      }
  28.  

y para el seno esto??

Código
  1.   public static double seno(double x)
  2.  
  3.      {
  4.  
  5.         int i;
  6.  
  7.         double s = 0;
  8.  
  9.         int signo = 1;
  10.  
  11.  
  12.  
  13.         for(i=1; i<10; i+=2)
  14.  
  15.         {
  16.  
  17.            s += signo*pow(x, i) / factorial(i);
  18.  
  19.            signo *= -1;
  20.  
  21.         }
  22.  
  23.  
  24.  
  25.         return s;
  26.  
  27.      }
  28.  
« Última modificación: 15 Septiembre 2011, 21:34 pm por Debci » En línea

casidus

Desconectado Desconectado

Mensajes: 39


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

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: 526



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

 ;-) 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: 39


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

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

egyware


Desconectado Desconectado

Mensajes: 526



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

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 am »

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
Ayuda! Calcular determinante en Java
Java
juancaa 4 9,745 Último mensaje 14 Agosto 2012, 18:41 pm
por adwind
calcular potencia en java? « 1 2 »
Java
cracken422 10 86,153 Último mensaje 11 Julio 2012, 00:24 am
por cracken422
Ayuda para sacar coseno en C.
Programación C/C++
NicolasPileci 3 6,442 Último mensaje 7 Noviembre 2016, 17:43 pm
por NicolasPileci
funcion coseno « 1 2 »
Programación C/C++
Beginner Web 14 3,214 Último mensaje 22 Abril 2019, 16:17 pm
por Beginner Web
Calculo integral definida Coseno C++
Dudas Generales
djbraks 3 911 Último mensaje 4 Febrero 2020, 20:52 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines