GNU Units — кроссплатформенная компьютерная программа для преобразования единиц величин. Имеет базу данных единиц измерения , включая эзотерические и исторические единицы. Это, например, позволяет конвертировать скорости, указанные в фарлонгах за две недели , и давление, указанное в тоннах на акр . Выходные единицы проверяются на соответствие входным, что позволяет проверить преобразование сложных выражений.
GNU Units была написана Адрианом Мариано как реализация утилиты Units , включенной в операционную систему Unix . Первоначально он был доступен по разрешительной лицензии. Вариант GNU распространяется под лицензией GPL, хотя проект FreeBSD поддерживает бесплатную версию модулей, существовавшую до изменения лицензии.
Исходная программа модулей была стандартной частью Unix начиная с первых версий Bell Laboratories . [1] Исходный код версии, очень похожей на оригинал, доступен на сайте Heirloom Project . [2]
Модули GNU включают в себя несколько расширений к исходной версии, [3] включая
^
или **
.^
или **
.btu + ft lbf
) можно конвертировать.S
в megohm
).sqrt((lbf/inch) / lb)
могут быть вычислены.Определения единиц измерения, включая нелинейные преобразования и списки единиц, могут расширяться пользователем.
База данных Definitions.units в виде простого текста сама по себе является хорошим справочником, поскольку она подробно комментируется и цитирует многочисленные источники.
UDUNITS — аналогичная служебная программа, за исключением того, что она имеет дополнительный интерфейс библиотеки программирования и возможности преобразования дат. UDUNITS де-факто считается программой и библиотекой для преобразования переменных единиц измерения в файлах netCDF . [4]
Версия GNU Units 2.19 была выпущена 31 мая 2019 года, чтобы отразить новую версию SI 2019 года ; В версии 2.14, выпущенной 8 марта 2017 г., исправлено несколько мелких ошибок и улучшена поддержка сборки для Windows. В версии 2.10, выпущенной 26 марта 2014 года, добавлена поддержка рациональных показателей степени больше единицы, а также добавлена возможность сохранять интерактивный сеанс в файле для записи выполненных преобразований. Начиная с версии 2.10, на веб-странице проекта доступен 32-битный двоичный дистрибутив Windows (32-битный порт версии 1.87 для Windows доступен с 2008 года как часть проекта GnuWin32 ) .
Версия 2.02, выпущенная 11 июля 2013 года, добавила вывод шестнадцатеричных чисел с плавающей запятой и две другие опции для упрощения изменения формата вывода.
Версия 2.0, выпущенная 2 июля 2012 года, добавила возможность конвертировать в суммы единиц, таких как часы и минуты или футы и дюймы. Кроме того, в этом выпуске добавлена поддержка кодировки UTF-8. [5] Добавлено определение единиц измерения для конкретного региона. Синтаксис определения нелинейных единиц был изменен, а также добавлены дополнительные спецификации домена и диапазона. Названия файлов данных стандартных и персональных единиц были изменены, а определения валют были помещены в отдельный файл данных; был добавлен скрипт Python для обновления определений валют.
История версий подробно описана в файле NEWS, включенном в исходный дистрибутив.
Units выведет результат преобразования в две строки. Обычно первая строка (умножение) — это желаемый результат; вторая строка — это то же преобразование, выраженное в виде деления.
Юниты также могут функционировать как универсальный научный калькулятор; он включает в себя несколько встроенных математических функций, таких как sin , cos , atan , ln , exp и т. д.
Попытка преобразовать несовместимые типы измерений приведет к тому, что устройства будут печатать сообщение об ошибке совместимости и отображать сокращенную форму каждого измерения.
В следующих примерах показаны результаты модулей GNU версии 2.10.
Курсы обмена валюты на сайте www.timegenie.com на 28 марта 2014 г.2729 единиц, 92 префикса, 77 нелинейных единиц.У вас есть: 10 стадийВы хотите: миль * 1,25 / 0,8У вас есть: 1 галлон + 3 пинты.Вы хотите: кварт * 5,5 / 0,18181818У вас есть: sqrt(метр) ^Единица не кореньУ вас есть: sqrt(акр)Вы хотите: футы * 208.71033 / 0,0047913298У вас есть: 21 БТЕ + 6500 фут-фунт-силаВы хотите: БТУ * 29.352939 / 0,034068139У вас есть: _Вы хотите: Дж. * 30968,99 / 3.2290366э-005У вас есть: 3.277 ч.Вы хотите: время 3 часа + 16 минут + 37,2 секундыУ вас есть: 1|2 дюймаВы хотите: см * 1,27 / 0,78740157
Символ подчеркивания («_») используется для обозначения результата последнего успешного преобразования единиц измерения.
C:\> единицы «десять стадий за две недели» «километры в час» * 0,0059871429 / 167,02458
% единиц измерения чашка -унция ошибка соответствия 0,00023658824 м^3 0,028349523 кг
Одна из форм уравнения Дарси – Вейсбаха для потока жидкости :
где Δ P - перепад давления, ρ - плотность массы, f - (безразмерный) коэффициент трения, L - длина трубы, Q - объемный расход, а d - диаметр трубы. Было бы желательно иметь уравнение в виде
это будет принимать типичные единицы измерения США; константу А 1 можно определить вручную, используя метод единичных коэффициентов , но ее можно определить быстрее и проще, используя единицы измерения : [6]
$ единиц "(8/pi^2)(фунтов/фут^3)футов(фут^3/с)^2(1/дюйм^5)" фунтов на квадратный дюйм * 43,533969 / 0,022970568
Технический документ по кранам № 410, [7] Ур. 3-5, дает мультипликативное значение 43,5.