¿Qué es una buena biblioteca para analizar expresiones matemáticas en java?
Soy desarrollador de Android y como parte de mi próxima aplicación necesitaré evaluar una gran variedad de expresiones matemáticas y ecuaciones creadas por el usuario. Estoy buscando una buena biblioteca java que sea ligera y pueda evaluar expresiones matemáticas utilizando variables y constantes definidas por el usuario, funciones trigonométricas y exponenciales, etc.
He mirado alrededor y Jep parece ser popular, pero me gustaría escuchar más sugerencias, especialmente de personas que han utilizado estas bibliotecas antes.
- Mostrar una buena fórmula de matemáticas en Android
- Determinación de números pares / impares (enteros)?
- Android Dividir el círculo en N partes iguales y conocer las coordenadas de cada punto de división
- Rectángulo Coordina con Respecto al Ángulo de Rotación
- Mover la mano Minuto en el reloj de Android
- ¿Puede explicar (cálculos matemáticos) ejemplo de gesto (Levenshtein)?
- Android - Ajuste de la posición de la vista de imagen en la parte superior de una vista de imagen con zoom
- Implementar página curl en android?
- Dibuja un camino curvo en la lona?
- Tengo problemas para entender lo que realmente obtiene GetDisplayRect () de PhotoView (construyendo una herramienta de recorte de fotos de android)
- Latitud / Longitud y metros
- ¿Cómo calcular la posición en un círculo con un cierto ángulo?
- Android - calcular el ángulo del arco
JEval es una buena alternativa. Abandoné Jep debido a que se convirtió en comercial. La única preocupación es que JEval parece estar un poco inactivo en este momento (último lanzamiento en 2008).
Escribí un evaluador de la expresión matemática simple pero capaz hace un tiempo, que es libre y de código abierto. Su principal ventaja es ser rápido y pequeño – ambos son una buena cosa con dispositivos de mano. Si satisface su necesidad usted es agradable utilizarlo.
Características principales:
- Operadores matemáticos básicos, con precedencia inferida (^ * × · / ÷% + -).
- Precedencia explícita con paréntesis.
- Multiplicación implícita de subexpresiones entre corchetes.
- Correcta asociatividad derecha de exponenciales (operador de potencia).
- Soporte directo para números hexadecimales prefijados por 0x.
- Constantes y variables.
- Operadores extensibles.
- Funciones extensibles.
- 20 KiB.
Ejemplo
MathEval math=new MathEval(); math.setVariable("Top", 5); math.setVariable("Left", 20); math.setVariable("Bottom",15); math.setVariable("Right", 60); System.out.println("Middle: "+math.evaluate("floor((Right+1-Left)/2)"));
Prueba https://code.google.com/p/expressionoasis/ . Es un marco extensible de Evaluación de Expresión y cumplirá con dichos requisitos.
Esto no se ajusta exactamente a mis condiciones iniciales, pero encontré un analizador maravilloso escrito en C ++. Estoy tratando de averiguar el soporte del código nativo de Android para ver si puedo usarlo. Es exactamente lo que necesito.
Aquí está la documentación para el proyecto.
http://www.codeproject.com/KB/recipes/MathieuMathParser.aspx
Existe una nueva herramienta comercial llamada formula4j , que puede ser de interés para algunos.
- Barra de herramientas de soporte técnico de Android colorControlNormal color
- Diferencia entre armeabi y armeabi-v7a