ESTIMATION LOI STABLE (MC KULLOCH) POUR UN DLL POUR EXCEL

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 3 juin 2004 à 12:56
cs_hitcher Messages postés 21 Date d'inscription jeudi 8 avril 2004 Statut Membre Dernière intervention 15 septembre 2009 - 30 juil. 2008 à 22:34
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/23370-estimation-loi-stable-mc-kulloch-pour-un-dll-pour-excel

cs_hitcher Messages postés 21 Date d'inscription jeudi 8 avril 2004 Statut Membre Dernière intervention 15 septembre 2009
30 juil. 2008 à 22:34
LPELE, bien écoute tout dépend de ce que tu veux faire. D'après ton lien la loi de Lévy ne prend en compte que moyenne (ou paramètre de localisation) supérieure à 0 ce qui est assez limitatif. J'aurais donc tendance à préférer la loi alpha stable moins contraignante.
Comme çà, apres avoir lu la page wiki rapidement je suis pas emballer par les processus de Levy sa m'a l'air du sous alpha stable contraint (c'est un cas particulier). Je ne connais pas par contre les méthodes d'estimation des processus de Levy, peut être sont ils plus performants (j'ai des doutes).
Personnellement, je resterais sur les lois alpha stable qui sont une généralisation des processus de Lévy.
lpele Messages postés 8 Date d'inscription vendredi 19 février 2010 Statut Membre Dernière intervention 17 mars 2018
30 juil. 2008 à 00:18
Hitcher, c'est pas mal ton code, je cherchais justement un .
un générateur de nombres pseudo-aléatoire qui suit la loi stable pour faire du Monte-Carlo.

Penses tu que ton algorithme est plus performant que celui se trouvant sur http://en.wikipedia.org/wiki/Lévy_distribution
(il transforme un générateur de nombre aléatoire qui suit la loi uniforme- ce que j'ai déjà- en générateur suivant la loi de Lévy, cas particulier de la loi stable)
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
4 juin 2004 à 00:59
Ben voila c'est deja fini et va impec.
Si prob tu postes ton mail et je t'envoie le proj et le xls.

Fichier CPP de SortXls.dll, je compile en mode C (non C++).

#include <windows.h>

int WINAPI DllMain(HINSTANCE hinst, unsigned long reason, void* x)
{
return 1;
}

int dblComp(const void *arg1, const void *arg2)
{
if(*(double*)arg1 > *(double*)arg2) return 1;
if(*(double*)arg1 < *(double*)arg2) return -1;
return 0;
}

// ICI LA FONCTION EXPORTEE, tableau double a trier croissant
// pas trouve plus court comme exemple
void __stdcall bnSortDbl(double *pdbl, int n)
{
if(n < 2) return;
qsort(pdbl, n, sizeof(double), dblComp);
}

----------------------------
Fichier SortXls.def

LIBRARY SortXls
EXPORTS
bnSortDbl @1

----------------------------
Module VB a inserer dans un Excel:

Option Explicit

Declare Sub bnSortDbl Lib "D:\SortXls.dll" (pArray As Double, ByVal nElem As Long)

Sub Test()
Dim dArray(8) As Double, i As Long
dArray(7) = 1.25
dArray(6) = 5.25
dArray(5) = 6.25
dArray(4) = 4.25
dArray(3) = 2.25
dArray(2) = 3.25
dArray(1) = 7.25
dArray(0) = 8.25
bnSortDbl dArray(0), 8
For i = 0 To 7
Debug.Print dArray(i)
Next i
End Sub
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
4 juin 2004 à 00:16
Je vais essayer de trouver un moment pour te faire une dll appelee depuis Excel avec fonction prenant *double et int en params.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 juin 2004 à 12:56
pour obtenir *ptrTab en param dans ta DLL, tu passes bien tab(0) en byref depuis vb ?

Vois que les questions se posent dans le forum, une source doit etre un exemple FONCTIONNANT.
Si pas de maj de la source dans la soiree, je me verrai contraint d'enlever.

ciao...
BruNews, Admin CS, MVP Visual C++