Sé que esto es un poco exagerado, pero está ahí de todos modos para codificar la función Ei (x) en JMP.<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> La función Ei (X) es (supongo) una función bastante rara. Al menos nunca he tenido que lidiar con eso antes. Pero ha aparecido en un análisis que estoy haciendo, me pregunto si hay alguna forma de codificarlo en una fórmula en JMP. Claramente, no está ahí por defecto, pero hay una manera de ingresar esto manualmente:
-

- ¿En una columna de fórmula? Gracias por adelantado.
- --SurfaceThought
Re: Sé que esto es un poco exagerado, pero existe de todos modos para codificar la función Ei (x) en JMP.PMroz,
¡Esto es increíble! ¡Funciona a la perfección! Este es ciertamente un trabajo digno de la cerveza, si piensas en una manera en que puedo comprarte una, házmelo saber
--SurfaceThought
Re: Sé que esto es un poco exagerado, pero existe de todos modos para codificar la función Ei (x) en JMP.OK aquí hay una implementación JSL del código Fortran. El código se ejecuta, pero tendrá que probarlo para asegurarse de que los números sean buenos. Es prácticamente una conversión directa del programa Fortran. Ejercicio interesante!
Re: Sé que esto es un poco exagerado, pero existe de todos modos para codificar la función Ei (x) en JMP.Creo que hay un paquete R que hará la integración. ¿Sería eso más fácil de implementar que la recodificación?
Steve Denham
Re: Sé que esto es un poco exagerado, pero existe de todos modos para codificar la función Ei (x) en JMP.Son lenguajes completamente diferentes. Si tengo algo de tiempo libre (ja, ja) intentaré convertirlo.
Re: Sé que esto es un poco exagerado, pero existe de todos modos para codificar la función Ei (x) en JMP.Sí, cuanto más lo miraba (el gamma incompleto), menos feliz estaba también, y no podía encontrar una manera fácil de apelar a la simetría, especialmente para estas funciones.
Ah, y en cuanto a la traducción de FORTRAN a JSL, la palabra "condenado" es bastante apropiada. El código MATLAB sería más fácil de traducir, creo.
Steve Denham
Re: Sé que esto es un poco exagerado, pero existe de todos modos para codificar la función Ei (x) en JMP.Aquí es donde me meto por encima de mi cabeza
Soy mucho más un estadístico que un programador (aunque no soy mucho de ninguno de los dos ). ¿Qué tan cerca está FORTRAN de JSL? No tengo conocimiento de ello. Si copié y pegué todo en una ventana de script JSL y continué intentando ejecutarlo y corrigiendo los errores a medida que surgían, ¿tendría éxito o estaría condenado sin algún conocimiento de FORTAN?
Gracias,
--SurfaceThought
Re: Sé que esto es un poco exagerado, pero existe de todos modos para codificar la función Ei (x) en JMP.Lo siento, eso fue tonto de mi parte. Quise decir como una función de integración, no como una función de redondeo a entero.
- SurfaceThought
Re: Sé que esto es un poco exagerado, pero existe de todos modos para codificar la función Ei (x) en JMP.Steve
Usar la función gamma para calcular Ei (x) es muy tentador y está tan cerca de la solución, pero después de jugar con ella, lamentablemente creo que no funcionará. La función Gamma como se indica en JMP le permite calcular la función gamma completa o la función gamma incompleta inferior. En otras palabras, le permite integrarse de cero a infinito, o de cero a algún valor x positivo, pero no puede cambiar al límite inferior de integración: siempre es cero. La integral exponencial está relacionada con la Superior Función gamma incompleta, ya que para calcularla necesita tener un límite inferior de integración variable e integrarse hasta el infinito. Debido a que la función gamma tal como está en JMP no permite un límite inferior de integración variable, creo que este enfoque simplemente no funcionará.
Gracias de cualquier forma,
--SurfaceThought
Re: Sé que esto es un poco exagerado, pero existe de todos modos para codificar la función Ei (x) en JMP.Aquí hay una implementación de Fortran: http://people.sc.fsu.edu/~jburkardt/f77_src/toms385/toms385.html
No debería ser demasiado difícil de convertir a JSL.
Re: Sé que esto es un poco exagerado, pero existe de todos modos para codificar la función Ei (x) en JMP.En JMP use Piso (x) para obtener lo que es Int (x) en Excel.
Re: Sé que esto es un poco exagerado, pero existe de todos modos para codificar la función Ei (x) en JMP.No hay suficiente usuario de JMP para saberlo, mucho más de una persona de SAS. Pero la integración no es algo en lo que SAS sea muy sólido a nivel de función, aunque conozco algunos enfoques y macros de PROC FCMP.
Lo que pensé que era una posibilidad era usar algunas de las funciones gamma asociadas con Ei (x), como la función gamma incompleta y escalar adecuadamente la entrada y la salida.
Steve Denham
Re: Sé que esto es un poco exagerado, pero existe de todos modos para codificar la función Ei (x) en JMP.Steve: Gracias por la rápida respuesta:
He examinado las aproximaciones y no estoy seguro de que funcionen para mis propósitos. La serie de Taylor aproximación:

Aparentemente es lento para converger, y necesitaría k = 30 para tener una precisión de tres puntos decimales en los niveles de x con los que estaría tratando. Además, la página wiki dice:
Esta fórmula se puede utilizar para calcular
Con operaciones de punto flotante de verdad.
entre 0 y 2.5. por
, el resultado es inexacto debido a cancelación .
Lo que es bastante inquietante, ya que trataré con x valores superiores a 2.5. Entiendo que "operaciones de punto flotante" simplemente significa que el dispositivo informático se redondea a un cierto número de puntos decimales después de cada paso del cálculo. ¿JMP usa operaciones de punto flotante? ¿Hay incluso una alternativa? Supongo que podría transformar x de alguna manera para que los valores encajen entre 0 y 2.5.
Hay otra aproximación que es divergente, que no es grande porque es divergente, pero también porque el error parece ser muy grande para valores pequeños de x (menos de uno), que también está dentro del rango de valores de x que puedo utilizar. Si necesito usar esta aproximación, tendré que hacerlo, pero me gustaría guardarlo para la última opción.
El problema con calcular el Ei (X) e importarlo a JMP, es que el argumento de la integral exponencial incluye un parámetro que quiero resolver para usar mínimos cuadrados no lineales. Por lo tanto, necesita estar realmente codificado en JMP para que JMP pueda cambiar el parámetro para resolverlo iterativamente.
¿Es realmente cierto que no hay una función INT () en JMP?
Gracias por la ayuda,
--SurfaceThought
Re: Sé que esto es un poco exagerado, pero existe de todos modos para codificar la función Ei (x) en JMP.No es tan raro. La página de MATLAB ofrece muchas aproximaciones, por lo que puede haber algo que pueda ser resaltado a partir de las funciones en JMP.
Ver http://mathworld.wolfram.com/ExponentialIntegral.html
También mire la biblioteca de GNU ( http://www.gnu.org/software/gsl/manual/html_node/Exponential-Integral.html ). Podría usar esto para generar un objeto R y luego jalarlo hacia JMP.
Steve Denham