GNU Units es un programa informático multiplataforma para la conversión de unidades de medida. Cuenta con una base de datos de unidades de medida , incluyendo unidades poco comunes e históricas. Esto permite, por ejemplo, la conversión de velocidades expresadas en furlongs por quincena y presiones expresadas en toneladas por acre . Las unidades de salida se verifican para asegurar su coherencia con las de entrada, lo que permite comprobar la conversión de expresiones complejas.
Historia
GNU Units fue escrito por Adrian Mariano como una implementación de la utilidad units incluida en el sistema operativo Unix . Originalmente, estaba disponible bajo una licencia permisiva. La variante GNU se distribuye bajo la GPL, aunque el proyecto FreeBSD mantiene una bifurcación libre de units anterior al cambio de licencia.
unidades (utilidad de Unix)
El programa original de unidades ha sido una parte estándar de Unix desde las primeras versiones de Bell Laboratories . [ 2 ] El código fuente de una versión muy similar a la original está disponible en el Heirloom Project . [ 3 ]
Implementación de GNU
Las unidades GNU incluyen varias extensiones a la versión original, [ 4 ] incluyendo
- Los exponentes se pueden escribir con
^o**. - Los exponentes pueden ser mayores que 9 si se escriben con
^o**. - Se admiten exponentes racionales y decimales.
- Las sumas de unidades (por ejemplo,
btu + ft lbf) se pueden convertir. - Se pueden realizar conversiones a sumas de unidades, denominadas listas de unidades (por ejemplo, de grados a grados, minutos y segundos).
- Las unidades que miden dimensiones recíprocas se pueden convertir (por ejemplo,
Samegohm). - Se admiten paréntesis para agrupar. Esto a veces permite expresiones más naturales, como en el ejemplo que se da en Expresiones de unidades complejas .
- Las raíces de las unidades (por ejemplo,
sqrt((lbf/inch) / lb)se pueden calcular. - Se admiten conversiones de unidades afines (por ejemplo, de °F a °C).
- Se incluyen funciones como seno, coseno, ln, logaritmo y logaritmo en base 2.
- Se incluye un script para actualizar las conversiones de divisas; el script requiere Python .
Las definiciones de unidades, incluidas las conversiones no lineales y las listas de unidades, son ampliables por el usuario.
El archivo definitions.units de la base de datos en texto plano es una buena referencia en sí mismo, ya que está ampliamente comentado y cita numerosas fuentes.
Otras implementaciones
UDUNITS es un programa de utilidad similar, con la diferencia de que cuenta con una interfaz de biblioteca de programación adicional y capacidades de conversión de fechas. UDUNITS se considera el programa y la biblioteca de facto para la conversión de unidades variables en archivos netCDF . [ 5 ]
Historial de versiones
La versión 2.19 de GNU Units se publicó el 31 de mayo de 2019 para reflejar la revisión de 2019 del SI . La versión 2.14, publicada el 8 de marzo de 2017, corrigió varios errores menores y mejoró la compatibilidad con la compilación en Windows. La versión 2.10, publicada el 26 de marzo de 2014, añadió compatibilidad con exponentes racionales mayores que uno y la posibilidad de guardar una sesión interactiva en un archivo para registrar las conversiones realizadas. A partir de la versión 2.10, se ha puesto a disposición una distribución binaria de 32 bits para Windows en la página web del proyecto (una versión de 32 bits para Windows de la versión 1.87 está disponible desde 2008 como parte del proyecto GnuWin32 ).
La versión 2.02, publicada el 11 de julio de 2013, añadió la salida en formato hexadecimal de coma flotante y otras dos opciones para simplificar el cambio del formato de salida.
La versión 2.0, publicada el 2 de julio de 2012, añadió la capacidad de convertir a sumas de unidades, como horas y minutos o pies y pulgadas. Además, esta versión añadió compatibilidad con la codificación UTF-8. [ 6 ] Se añadió la posibilidad de definir unidades específicas para cada configuración regional. Se modificó la sintaxis para definir unidades no lineales y se añadieron especificaciones opcionales de dominio y rango. Se cambiaron los nombres de los archivos de datos de unidades estándar y personales, y las definiciones de moneda se colocaron en un archivo de datos independiente; se añadió un script de Python para actualizar las definiciones de moneda.
El historial de versiones se describe detalladamente en el archivo NEWS incluido en la distribución del código fuente.
Uso
Las unidades mostrarán el resultado de la conversión en dos líneas. Normalmente, la primera línea (multiplicación) muestra el resultado deseado; la segunda línea muestra la misma conversión expresada como una división.
Las unidades también pueden funcionar como una calculadora científica de uso general; incluye varias funciones matemáticas incorporadas como sen , cos , atan , ln , exp , etc.
Intentar convertir tipos de medidas incompatibles provocará que las unidades impriman un mensaje de error de compatibilidad y muestren una versión reducida de cada medida.
Ejemplos
Los ejemplos que siguen muestran resultados de la versión 2.10 de GNU Units .
Modo interactivo
Tipos de cambio de divisas de www.timegenie.com el 28 de marzo de 2014. 2729 unidades, 92 prefijos, 77 unidades no lineales Tienes: 10 furlongs Quieres: millas * 1,25 / 0,8 Tienes: 1 galón + 3 pintas Quieres: cuartos * 5.5 / 0,18181818 Tienes: sqrt(metro) ^ Unidad no es una raíz Tienes: raíz cuadrada (acre) Quieres: pies * 208.71033 / 0,0047913298 Tienes: 21 btu + 6500 ft lbf Quieres: btu * 29.352939 / 0,034068139 Tienes: _ Quieres: J * 30968.99 / 3.2290366e-005 Tienes: 3.277 horas Quieres: tiempo 3 h + 16 min + 37,2 s Tienes: 1/2 pulgada Quieres: cm * 1,27 / 0,78740157
El guion bajo ('_') se utiliza para indicar el resultado de la última conversión de unidades exitosa.
En la línea de comandos (no interactiva)
C:\> unidades "diez furlongs por quincena" "kilómetros por hora" * 0,0059871429 / 167,02458% unidades taza onzas error de conformabilidad 0,00023658824 m^3 0,028349523 kgExpresiones de unidades complejas
Una forma de la ecuación de Darcy-Weisbach para el flujo de fluidos es
donde ΔP es la caída de presión, ρ es la densidad de masa, f es el factor de fricción (adimensional), L es la longitud de la tubería, Q es el caudal volumétrico y d es el diámetro de la tubería. Podría ser deseable tener la ecuación en la forma
que aceptaría unidades típicas de EE. UU.; la constante A 1 podría determinarse manualmente utilizando el método del factor de unidad , pero podría determinarse de forma más rápida y sencilla utilizando unidades : [ 7 ]
$ unidades "(8/pi^2)(lbm/ft^3)ft(ft^3/s)^2(1/in^5)" psi * 43.533969 / 0.022970568El documento técnico Crane n.° 410, [ 8 ] Eq. 3-5, da como resultado un valor multiplicativo de 43,5.
Véase también
Notas
Referencias
- ↑ https://ftp.gnu.org/gnu/units/ . Consultado el 21 de marzo de 2026 .
{{cite web}}: Falta o está vacío|title=( ayuda ) - ↑ Bell Telephone Laboratories, Incorporated (1979). "Manual de la séptima edición de Unix" . Murray Hill, NJ: Alcatel-Lucent Bell Labs. Archivado del original el 19 de octubre de 2008. Consultado el 23 de abril de 2011 .Archivo en línea de las páginas del manual incluidas en las cintas de distribución de la Séptima Edición de Unix .
- ↑ "Repositorio CVS del Proyecto Heirloom" . 11 de abril de 2013. Consultado el 1 de febrero de 2016 .
- ↑ Mariano, Adrian (2014). "Units: A Unit Conversion Program and Scientific Calculator" . Boston, MA: Free Software Foundation, Inc. Recuperado el 29 de marzo de 2014 .
- ↑ Como se especifica en varias convenciones de NetCDF , por ejemplo:
- COARDS — "Convenciones para la estandarización de archivos NetCDF" . 10 de febrero de 1995. Archivado del original el 27 de mayo de 2010. Consultado el 12 de abril de 2007 .
- CF — "Convenciones de metadatos de clima y pronóstico (CF) de NetCDF" . 29 de marzo de 2014.
- ↑ (idioma alemán) « GNU Units 2.0 berechnet Pies und Pulgadas » , linux-magazin.de , 3 de julio de 2012.
- ↑ Unidades GNU versión 2.10, Windows XP SP3, shell Korn PTC MKS
- ↑Documento técnico n.º 410, Flujo de fluidos a través de válvulas, accesorios y tuberías . Nueva York: Crane Co., 1985.
Enlaces externos
- Software multiplataforma
- Software Unix
- Software del Proyecto GNU
- Software matemático gratuito
- Unidades de medida