J'ai besoin de mettre en œuvre un algorithme qui a un calcul mathématique intensif. Existe-t-il déjà un support en Java pour cela? Ou y a-t-il des fournisseurs tiers qui fournissent ce support?Y at-il une API intégrée pour résoudre des problèmes mathématiques complexes comme l'intégration et la différenciation
Répondre
JavaCalc pourrait être pertinente à vos besoins
Objectif
L'objectif principal de ce projet est de développer une bibliothèque symbolique pour Java qui peut gérer des expressions algébriques régulières ainsi que des fonctions de calcul standard. Plus précisément, la bibliothèque doit prendre en charge:• Analyse des expressions algébriques standard (arbre de syntaxe) à partir d'une chaîne.
• Simplification des expressions algébriques (affacturage, dénominateur commun, identités trigonométriques, etc.).
• Appliquer des fonctions de calcul standard symboliques (différenciation, intégration) à des expressions algébriques.
• Outils de calcul communs (série de Taylor, limites, approximations numériques).
• Outils graphiques (en utilisant le swing).
• Si le temps le permet, support de l'équation différentielle (solveur symbolique, approximation d'Euler, transformée de Laplace).
Il n'y a pas construit dans les fonctions qui répondent à ces besoins, mais vous pouvez vérifier une bibliothèque comme commons-math
J'espère que cela aide.
Si vous avez une application Web et que vous souhaitez qu'une API REST soit diffusée sur HTTP, consultez SaturnAPI. Vous pouvez écrire vos propres scripts Matlab et Octave et les héberger là. Ensuite, à partir de votre application Web, vous pouvez effectuer des requêtes HTTP POST simples avec des données d'entrée pour exécuter les scripts. Vous pouvez ensuite récupérer les données de réponse HTTP en tant que sortie de script. Below is an example of integration vous pouvez bifurquer. Vous pouvez également rechercher en ligne des exemples Matlab et Octave correspondant à vos besoins et les utiliser sur 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)));
Divulgation: Je travaille sur SaturnAPI
Le Algoritm être? –