Voici une méthode assez rapide pour ne pas être bloqué.
- Se rendre sur la page du projet math.net, et télécharger le package.
- Dans votre projet Windev, clic droit sur assemblages.net et choisir utiliser un assemblage.net dans le projet. Venir choisir le ficher dll concerné comme ci dessous.
Créer une procédure globale avec les fonctions que vous souhaitez utiliser comme ci dessous :
PROCEDURE pochisq(df, x sont des numériques)
pclOStats est un "MathNet.Numerics.Distributions.ChiSquared" dynamique
pclOStats=ChiSquared::InvCDF(df,x)
RENVOYER(pclOStats.ToString())
pclOStats est un "MathNet.Numerics.Distributions.ChiSquared" dynamique
pclOStats=ChiSquared::InvCDF(df,x)
RENVOYER(pclOStats.ToString())
Consultez bien la documentation de la fonction sur le site de math.net pour avoir le détail.
Dans ce cas présent, on utilise une fonction inverse du test du Khi2. La procédure windev ne sert qu'a faire le lien avec la fonction .net, et renvoie la réponse en passant la valeur et le nombre de degrés de liberté.
Vous pouvez utilisez ensuite créer des fonctions utilisables dans vos champs tableurs, par exemple comme ceci :
PROCEDURE poissoninf(valeur est un numérique)
xAmini est un numérique
SELON valeur
CAS <=3
RENVOYER 0
AUTRE CAS
xAmini=(pochisq((valeur-1)*2+2,0.025))
RENVOYER xAmini/2
FIN
xAmini est un numérique
SELON valeur
CAS <=3
RENVOYER 0
AUTRE CAS
xAmini=(pochisq((valeur-1)*2+2,0.025))
RENVOYER xAmini/2
FIN
Pensez à rajouter dans le code de la fenêtre contenant votre champ tableur la ligne suivante :
//autorisation des fonctions internes
TableurAutoriseProcédure(TBLR_FP,"poissoninf"+RC+"poissonsup"+RC+"sensidossier"+RC+"surfacelot"+RC+"volumepreleve"+RC+"incertitudevolume"+RC+"smoyennegrille")
TableurAutoriseProcédure(TBLR_FP,"poissoninf"+RC+"poissonsup"+RC+"sensidossier"+RC+"surfacelot"+RC+"volumepreleve"+RC+"incertitudevolume"+RC+"smoyennegrille")
TBLR_FP est le nom de votre champ tableur, et les données entre guillemets "poissoninf" sont les fonctions rendues disponibles dans ce tableur pour vos utilisateurs. Sans cette ligne, vos fonctions ne seront pas disponibles lorsque vous écrivez vos formules dans le tableur.
Ici, dans cette exemple, j'ai créé une fonction poissoninf, qui utilise la fonction pochisq qui elle même appelle une fonction .net. En utilisant cette librairie, tout est réalisable ! c'est très fourni et vous pouvez créer des tableaux de calculs très complexes pour vos utilisateurs !