Quantum bibliothèque mathématiques

Description

Quantum est une librairie de calculs mathématiques, physiques et chimiques.

On peut également retrouvé les caractéristiques de tout les éléments du tableau périodique ou encore faire des calculs a l'aide de fonction spéciale.

Ceci est le début de la DLL je mettrai les versions futures lors d'une prochaine mise à jour.

Source / Exemple :


public class EquationsDifférentielles
    {
        private static readonly double[] X = new double[100];

        private static readonly double[] Y = new double[100];

        // y'= Fonction(x,y)
        public delegate double Fonction(double x, double y);

        public static double EulerRomberg(int nombreIteration,double pas,double erreurRelative,double x0,double y0,Fonction fonction)
        {
            var t = new double[20];
            // conditions initiales
            X[0] = x0;
            Y[0] = y0;

            // Integration
            int k = 0;
            for (int n = 0; n <= nombreIteration; n++)
            {
                double a = X[n];
                double b = Y[n];
                t[1] = Y[n] + pas*fonction(a, b);
                int l = 1;
                int lm = 2;

                double z;
                do
                {
                    a = X[n];
                    b = Y[n];
                    for (int j = 1; j <= lm; j++)
                    {
                        a = a + pas/lm;
                        b = b + pas/lm*fonction(a, b);
                    }
                    t[l + 1] = b;
                    
                    k = l;
                    int mm = 2;
                    z = 1.0;

                    if(k>1)
                        do
                        {
                            t[k] = (mm*t[k + 1] - t[k])/(mm - 1);
                            z = Math.Abs(t[k] - t[k - 1]);
                            
                            k--;
                            mm *= 2;
                        } while (z>=erreurRelative&&k>1);
                    if(k==1)
                    {
                        l++;
                        lm *= 2;
                    }
                } while (l<10&&z>=erreurRelative);
                Y[n + 1] = t[k];
               
            }

            return t[k];
        }
    }
}

Conclusion :


Tout le monde peut ajouter son grain de sel mais merci de me prévenir avant.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.