¿Hay alguna API incorporado para la resolución de problemas matemáticos complejos, como la integración y la diferenciación

StackOverflow https://stackoverflow.com/questions/3728507

  •  03-10-2019
  •  | 
  •  

Pregunta

necesito para implementar un algoritmo que tiene cálculo matemático intensivo. ¿Existe ya apoyar en Java para esto? O ¿hay vendedores de 3 ª parte que prestan este apoyo?

¿Fue útil?

Solución

JavaCalc podría ser relevante para sus necesidades

Objetivo
El objetivo principal de este proyecto es desarrollar una biblioteca simbólica para Java que puede manejar expresiones algebraicas regulares, así como funciones de cálculo estándar. Específicamente, la biblioteca debe apoyar:

• Analizar expresiones algebraicas estándar (árbol de sintaxis) de una cadena.
• Simplificar expresiones algebraicas (factoring, denominador común, las identidades trigonométricas, etc).
• La aplicación de las funciones simbólicas de cálculo estándar (diferenciación, integración) a expresiones algebraicas.
herramientas de cálculo • comunes (serie de Taylor, límites, aproximaciones numéricas).
• herramientas de representación gráfica (usando columpio).
• Si el tiempo lo permite, el apoyo ecuación diferencial (solucionador simbólica, la aproximación de Euler, transformada de Laplace).

Otros consejos

No hay construido en funciones que atender a esas necesidades, sin embargo se puede comprobar una biblioteca como Commons-matemáticas

Espero que esto ayude.

Si usted tiene una aplicación web y desea una API REST sirve a través de HTTP, echa un vistazo a SaturnAPI . Usted puede escribir sus propios guiones MATLAB y alojar allí. Luego de su aplicación web, puede hacer peticiones HTTP POST simples con datos de entrada para ejecutar las secuencias de comandos. A continuación, puede recuperar los datos de respuesta HTTP como la salida del script. A continuación se muestra un ejemplo de integración se puede bifurcar. También puede buscar ejemplos MATLAB en línea que se adapte a sus necesidades y utilizarlo en SaturnAPI.

%%%%%%%%%%%%%%%%%%%%%%%%%% Integrating Differential Equations %%%%%%%%%%%%%%%%%%%%%%%%%%
% (GNU License)
% SaturnAPI has built-in functions for solving nonlinear differential equations of the form
%
%     dx
%     -- = f (x, t)
%     dt
%
% with the initial condition
%
%     x(t = t0) = x0
%
% For SaturnAPI to integrate equations of this form, 
% you must first provide a definition of the function f(x,t). 
% Do this by entering the function body directly in the API script. 
% The example script below defines the right-hand side function xdot
% for an interesting pair of nonlinear differential equations. 
% It computes the integral and prints the last term to be sent as the HTTP response data. 
% SaturnParams is an array containing the initial condition
% For instance, SaturnParams='[1 ; 2]'
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function xdot = f (x, t)

  r = 0.25;
  k = 1.4;
  a = 1.5;
  b = 0.16;
  c = 0.9;
  d = 0.8;

  xdot(1) = r*x(1)*(1 - x(1)/k) - a*x(1)*x(2)/(1 + b*x(1));
  xdot(2) = c*a*x(1)*x(2)/(1 + b*x(1)) - d*x(2);

endfunction

x0 = SaturnParams;
t = linspace (0, 50, 200)';
x = lsode ("f", x0, t);

printf("%f", x(length(x)));

Divulgación: trabajé en SaturnAPI

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top