MathExpressions v1.0 librería matemática

He escrito una librería en Java para evaluar expresiones matemáticas de cualquier índole, por ejemplo:

1+2*sin(pi) – 4 * cos(pi) – g^2

Esta librería incluye las siguientes funciones trigonométricas y no trigonométricas:

Seno, factorial, logaritmo natural, cotangente inverso, coseno hiperbólico inverso, coseno inverso, secante hiperbólico inverso, tangente inverso, seno hiperbólico inverso, tangente hiperbólico inverso, cotangente hiperbólico inverso, seno inverso, cosecante inverso, cosecante hiperbólico inverso, secante inverso, cotangente, cotangente hiperbólico, cosecante, cosecante hiperbólico, logaritmo 10, logaritmo 2, secante, secante hiperbólico, sqrt, tangente, aleatorios entre 0 y 1 y aleatorios con rango.

Pueden ver el API y darse una idea de lo que trae la librería.

La librería hace comprobaciones de dominio para las funciones antes citadas (solo para las que aplique un dominio).

Ejemplo sencillo de uso:

1

Su uso es muy sencillo, hay que crear una instancia de Parser, luego invocamos al método parse(String) pasándole un String y este se encarga de evaluarla dejando el resultado listo para ser consultado con el método getRespuestaNumerica().

2

La librería tiene licencia GPL v3.

Instalación.

Uso en NetBeans

Crear un proyecto Java, dar clic derecho en el proyecto, elegir Propiedades (al final de todas las opciones), elegir Libraries y dar clic en el botón “Add JAR/Folder”:

4

Buscar o explorar el archivo MathExpressions.jar y dar en Abrir, eso es todo.

Uso fuera de NetBeans

3

Si prefieren no usar el .jar y usar los archivos .java igual está bien, solo hay que descomprimir el archivo .jar, son 3 clases las que contiene esta librería.

El JavaDoc para la librería lo pueden descargar de aquí:
https://dl.dropboxusercontent.com/u/58795303/MathExpressions%20Javadoc.rar

La librería la descargan de aquí:
https://dl.dropboxusercontent.com/u/58795303/mathexpressions.jar

Si encuentrar errores o si tienen alguna sugerencia, todo es bienvenido.

La librería es facilmente implementable en C#, quizás la haga en un rato más.

PD: He convertido la librería a C#, aquí está:

https://dl.dropboxusercontent.com/u/58795303/MathExpressionsCSharp.rar

¡Saludos!

Anuncios

Acerca de leonardogtzr

Programmer ...
Esta entrada fue publicada en Programación y etiquetada , , , , , , , , , , . Guarda el enlace permanente.

8 respuestas a MathExpressions v1.0 librería matemática

  1. leonardogtzr dijo:

    Isaac, aquí está, la había codificado al día siguiente, parece que funciona, son 4 clases pero las puedes convertir en una si gustas.

    https://dl.dropboxusercontent.com/u/58795303/MathExpressionsCSharp.rar

    Es todo el proyecto en Visual Studio, no sé como crear una librería en .Net :/

    Saludos!

    • Isaac Ojeda dijo:

      No lo has subido a Github? hay le estaré dando una revisada!, te aviso si sirve en monodevelop que no estoy en windows jaja

      • Isaac Ojeda dijo:

        Mira no se si has visto esta http://flee.codeplex.com/ , es la que te platicaba anteriormente

      • leonardogtzr dijo:

        No lo he subido, pero sí estaría suave, ya ví un poco la librería esa, pues la verdad está muchísimo más avanzada que la mía, la mía provee un uso básico para una calculadora, aunque tiene muchos operadores, todos los que encuentras en C, maneja variables así:

        x = 1

        Y eso se queda en el parser para su uso posterior.

        Otro punto fuerte que traté de darle es que tiene todas las funciones trigonométricas y a todas les hice verificación de dominio. Como está la librería es fácilmente extensible para agregarle multiprecisión (números decimales gigantes o bignumbers).

        Otra cosa, en la librería que estoy haciendo en C++ estoy separando el reconocimiento de la expresión de la evaluación, en cuanto la termine en C++ se la pongo a Java y a C#, es fácil, te mantendré actualizado. 🙂

  2. Pingback: MathExpressions v1.1 librería matemática | LeonardoGtzR

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s