Calculo logaritmo natural

  • 1 Respuestas
  • 470 Vistas

Teraclima

  • Novato
  • *
  • Mensajes: 9
Calculo logaritmo natural
« : agosto 16, 2015, 12:19:47 pm »
Buen día, quisiera saber si es posible calcular el logaritmo natural de una variable FLOAT?

Lo necesito para calcular temperatura medida con un termistor NTC.

Muchas gracias

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 1707
  • Soporte Técnico
Re:Calculo logaritmo natural
« Respuesta #1 : agosto 19, 2015, 18:33:13 pm »
Buenas tardes,

Disculpe la demora en contestar, pero el sistema no nos notificó este mensaje. Ahora fue corregido y la próxima vez nos notificará.

Para utilizar las funciones que describimos a continuación debe primero:

  • Actualizar el firmware del dispositivo STX8091-D1 a la versión 193, con el archivo stx8091-d1-v193-b.sff que adjunto. Puede leer este documento STXLADDER-FU que explica como actualizar el firmware.
  • Copiar el archivo: stx8091.inc que te adjunto en este mensaje en el <directorio de instalación StxLadder>\slicetex\StxLadder\pawn\include\stx8091, que puede ser por ejemplo: C:\Program Files\slicetex\StxLadder\pawn\include\stx8091. Quizás necesites permisos de administrador.

Nota: La próxima versión de StxLadder (la versión 1.6.7) contendrá los cambios efectuados para no tener que copiar el archivo stx8091.inc.

Luego de actualizar con los procedimientos y archivos descriptos, podrá utilizar las siguientes funciones en Pawn:

  • LogN(x): Devuelve el logaritmo natural de x.
  • Log10(x): Devuelve el logaritmo en base 10 de x.

La variable "x" puede ser del tipo Float o Int32 y el valor devuelto es Float.

Ejemplo:

Código: (PAWN) [Seleccionar]

new Float: ValueF = 0.78
new Value = 45
new Float: Log


// Cacular log. natural de ValueF usando la función LogN
Log = Float: LogN(ValueF)

// Imprimir logaritmos en Virtual HMI.
nLcdPrintf(0,1,LCD_CLRLINE, "Log10(%f)=%3.4f",  0.78, Log10(ValueF))
nLcdPrintf(0,2,LCD_CLRLINE, "LogN(%f)=%3.4f", 0.78, LogN(ValueF))
nLcdPrintf(0,3,LCD_CLRLINE, "Log10(%f)=%3.4f",  Value, Log10(Value))
nLcdPrintf(0,4,LCD_CLRLINE, "LogN(%f)=%3.4f", Value, LogN(Value))


Quedamos a disposición por cualquier otra consulta.


« Última Modificación: agosto 20, 2015, 14:31:26 pm por Soporte »
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com