Je sais que c'est un peu exagéré, mais y at-il quand même pour encoder la fonction Ei (x) dans JMP.<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> La fonction Ei (X) est (je suppose) une fonction assez rare. Au moins, je n'ai jamais eu à m'en occuper auparavant. Mais cela est apparu dans une analyse que je suis en train de faire, je me demande s'il est possible de le coder dans une formule dans JMP. Clairement, il n’y figure pas par défaut, mais existe-t-il un moyen de le saisir manuellement:
-

- Dans une colonne de formule? Merci d'avance.
- --SurfaceThought
Re: Je sais que c'est un peu exagéré, mais est-il possible d'encoder la fonction Ei (x) dans JMP.PMroz,
C'est incroyable! Cela fonctionne parfaitement! C’est certainement un travail digne de la bière, si vous pensez à un moyen de vous en acheter un, faites le moi savoir.
--SurfaceThought
Re: Je sais que c'est un peu exagéré, mais est-il possible d'encoder la fonction Ei (x) dans JMP.OK, voici une implémentation JSL du code Fortran. Le code est exécuté, mais vous devrez le tester pour vous assurer que les chiffres sont corrects. C'est à peu près une conversion directe du programme Fortran. Exercice intéressant!
Re: Je sais que c'est un peu exagéré, mais est-il possible d'encoder la fonction Ei (x) dans JMP.Je pense qu'il existe un paquet R qui fera l'intégration. Serait-ce plus facile à mettre en œuvre que de recoder?
Steve Denham
Re: Je sais que c'est un peu exagéré, mais est-il possible d'encoder la fonction Ei (x) dans JMP.Ce sont des langues très différentes. Si j'ai du temps libre (hah), je vais essayer de le convertir.
Re: Je sais que c'est un peu exagéré, mais est-il possible d'encoder la fonction Ei (x) dans JMP.Oui, plus je le regardais (le gamma incomplet), moins j'étais heureux, et je ne pouvais pas trouver un moyen facile de faire appel à la symétrie, en particulier pour ces fonctions.
Oh, et pour ce qui est de traduire FORTRAN en JSL, le mot "condamné" est tout à fait approprié. Le code MATLAB serait plus facile à traduire, je pense.
Steve Denham
Re: Je sais que c'est un peu exagéré, mais est-il possible d'encoder la fonction Ei (x) dans JMP.C’est là que j’ai pris mon chemin
Je suis beaucoup plus un statisticien qu'un programmeur (même si je ne suis pas beaucoup de ). Quelle est la distance entre FORTRAN et JSL? Je n'en ai aucune connaissance. Si je copiais et collais l'intégralité de l'élément dans une fenêtre de script JSL et que j'essayais toujours de l'exécuter et de corriger les erreurs au fur et à mesure, serais-je vaincu ou serais-je condamné sans une certaine connaissance de FORTAN?
Merci,
--SurfaceThought
Re: Je sais que c'est un peu exagéré, mais est-il possible d'encoder la fonction Ei (x) dans JMP.Désolé, c'était idiot de moi. Je voulais dire comme une fonction d'intégration, pas comme une fonction arrondie à un entier.
- SurfaceThought
Re: Je sais que c'est un peu exagéré, mais est-il possible d'encoder la fonction Ei (x) dans JMP.Steve,
Utiliser la fonction gamma pour calculer Ei (x) est tellement tentant et si proche de la solution, mais après avoir joué avec cela, je pense malheureusement que cela ne fonctionnera pas. La fonction gamma indiquée dans JMP vous permet de calculer soit la fonction gamma complète, soit la fonction gamma incomplète inférieure. En d’autres termes, cela vous permet d’intégrer de zéro à l’infini, ou de zéro à une valeur x positive, mais vous ne pouvez pas passer à la limite inférieure de l’intégration: elle est toujours nulle. L'intégrale exponentielle est liée à la plus haut fonction gamma incomplète, car pour le calculer, vous devez avoir une limite inférieure variable d'intégration et l'intégrer jusqu'à l'infini. Étant donné que la fonction gamma telle qu'elle existe dans JMP ne permet pas une limite inférieure variable d'intégration, je pense que cette approche ne fonctionnera tout simplement pas.
Merci quand même,
--SurfaceThought
Re: Je sais que c'est un peu exagéré, mais est-il possible d'encoder la fonction Ei (x) dans JMP.Voici une implémentation Fortran: http://people.sc.fsu.edu/~jburkardt/f77_src/toms385/toms385.html
Ne devrait pas être trop difficile à convertir en JSL.
Re: Je sais que c'est un peu exagéré, mais est-il possible d'encoder la fonction Ei (x) dans JMP.Dans JMP, utilisez Floor (x) pour obtenir ce qui est Int (x) dans Excel.
Re: Je sais que c'est un peu exagéré, mais est-il possible d'encoder la fonction Ei (x) dans JMP.Il n’ya pas assez d’utilisateurs JMP pour en savoir plus, bien plus que d’autre personne. Cependant, l’intégration n’est pas un élément très important de SAS au niveau des fonctions, même s’il existe certaines approches et macros PROC FCMP que je connais.
Ce que je pensais être une possibilité utilisait certaines des fonctions gamma associées à Ei (x), telles que la fonction gamma incomplète et une mise à l'échelle appropriée de l'entrée et de la sortie.
Steve Denham
Re: Je sais que c'est un peu exagéré, mais est-il possible d'encoder la fonction Ei (x) dans JMP.Steve: Merci pour la réponse rapide:
J'ai examiné les approximations et je ne suis pas sûr qu'elles fonctionneront pour mes besoins. L'approximation de la série de Taylor:

est apparemment lent à converger et aurait besoin de k = 30 pour avoir une précision de trois décimales aux niveaux de xI que je traiterais. De plus, la page du wiki indique:
Cette formule peut être utilisée pour calculer
avec des opérations en virgule flottante pour de vrai
entre 0 et 2,5. Pour
, le résultat est inexact en raison de annulation .
Ce qui est plutôt inquiétant, étant donné que je traiterai de x valeurs supérieures à 2,5. Je comprends que les "opérations en virgule flottante" signifient simplement que le dispositif informatique arrondit à un certain nombre de décimales après chaque étape du calcul. JMP utilise-t-il des opérations en virgule flottante? Y a-t-il même une alternative? Je suppose que je pourrais transformer x d'une certaine manière pour que les valeurs se situent entre 0 et 2,5.
Il existe une autre approximation qui est divergente, ce qui n’est pas terrible car elle est divergente, mais aussi parce que l’erreur semble être très grande pour de petites valeurs de x (moins d’un), qui se trouve également dans la plage de x que je peux utilisation. Si j’ai besoin d’utiliser cette approximation, je devrai le faire, mais j’aimerais le conserver pour la dernière option.
Le problème avec le calcul de Ei (X) et son importation dans JMP est que l'argument de l'intégrale exponentielle inclut un paramètre que je souhaite résoudre pour l'utilisation des moindres carrés non linéaires. Par conséquent, il doit effectivement être codé dans JMP afin que JMP puisse modifier le paramètre afin de le résoudre de manière itérative.
Est-il vraiment vrai qu'il n'y a pas de fonction INT () dans JMP?
Merci pour l'aide,
--SurfaceThought
Re: Je sais que c'est un peu exagéré, mais est-il possible d'encoder la fonction Ei (x) dans JMP.Pas si rare. La page MATLAB donne beaucoup d’approximations, il est donc possible que quelque chose puisse être corrigé à partir des fonctions de JMP.
Voir http://mathworld.wolfram.com/ExponentialIntegral.html
Regardez aussi la bibliothèque GNU ( http://www.gnu.org/software/gsl/manual/html_node/Exponential-Integral.html ). Vous pouvez utiliser ceci pour générer un objet R, puis extraire cela dans JMP.
Steve Denham