Jednostki GNU — GNU Units

Jednostki
Heckert GNU biały.svg
Deweloper(zy) Projekt GNU
Wersja stabilna
2.21 / 15 listopada 2020 ; 8 miesięcy temu ( 2020-11-15 )
Magazyn web .cvs .savannah .gnu .org /viewvc /jednostki /
System operacyjny Linux , FreeBSD , NetBSD , OpenBSD , większość implementacji Unixa, Windows
Platforma Dołączone do niektórych dystrybucji Linuksa . Dostępne są dwie dystrybucje binarne Windows; dystrybucja na inne platformy jest tylko źródłem.
Rozmiar 1,2 megabajta (źródło smoły)
Rodzaj Użyteczność
Licencja GPLv3
Stronie internetowej www .gnu .org / oprogramowanie / jednostki / Edytuj to na Wikidanych

GNU Units to wieloplatformowy program komputerowy do konwersji jednostek wielkości. Posiada bazę jednostek miar , w tym jednostek ezoterycznych i historycznych. Pozwala to na przykład na przeliczenie prędkości określonych w stadiach na dwa tygodnie oraz ciśnień określonych w tonach na akr . Jednostki wyjściowe są sprawdzane pod kątem spójności z danymi wejściowymi, co pozwala na weryfikację konwersji złożonych wyrażeń.

Historia

GNU Units zostało napisane przez Adriana Mariano jako implementacja narzędzia units zawartego w systemie operacyjnym Unix . Pierwotnie był dostępny na licencji liberalnej. Wariant GNU jest rozpowszechniany na licencji GPL, chociaż projekt FreeBSD utrzymuje darmowy widelec jednostek sprzed zmiany licencji.

jednostki (narzędzie uniksowe)

Oryginalny program jednostek był standardową częścią Unixa od wczesnych wersji Bell Laboratories . Kod źródłowy wersji bardzo podobnej do oryginału jest dostępny w Heirloom Project .

Implementacja GNU

Jednostki GNU zawierają kilka rozszerzeń oryginalnej wersji, w tym

  • Wykładniki można zapisać za pomocą ^lub **.
  • Wykładniki mogą być większe niż 9, jeśli są zapisywane za pomocą ^lub **.
  • Obsługiwane są wykładniki wymierne i dziesiętne.
  • Sumy jednostek (np. btu + ft lbf) mogą być przeliczane.
  • Konwersje mogą być dokonywane na sumy jednostek, zwane listami jednostek (np. ze stopni na stopnie, minuty i sekundy).
  • Jednostki mierzące wymiary odwrotne można przekonwertować (np. Sna megohm).
  • Obsługiwane są nawiasy do grupowania. Czasami pozwala to na bardziej naturalne wyrażenia, takie jak w przykładzie podanym w wyrażeniach jednostek zespolonych .
  • Pierwiastki jednostek (np. sqrt((lbf/inch) / lb)można obliczyć.
  • Obsługiwane są nieliniowe konwersje jednostek (np. °F na °C).
  • Uwzględniono funkcje takie jak sin, cos, ln, log i log2.
  • Dołączony jest skrypt do aktualizacji przeliczania walut; skrypt wymaga Pythona .

Definicje jednostek, w tym konwersje nieliniowe i listy jednostek, są rozszerzalne przez użytkownika.

Baza danych w postaci zwykłego tekstu definicje.jednostki jest sama w sobie dobrym odniesieniem, ponieważ jest szeroko komentowana i cytuje liczne źródła.

Inne realizacje

UDUNITS jest podobnym programem narzędziowym, z tą różnicą, że ma dodatkowyinterfejs biblioteki programistyczneji możliwość konwersji dat. UDUNITS jest uważany za de facto program i bibliotekę do konwersji zmiennych jednostek dlaplików netCDF .

Historia wersji

Wersja 2.19 jednostek GNU została wydana 31 maja 2019 r., aby odzwierciedlić nową wersję SI z 2019 r .; Wersja 2.14 wydana 8 marca 2017 r. naprawiła kilka drobnych błędów i poprawiła obsługę budowania w systemie Windows. W wersji 2.10, wydanej 26 marca 2014 r., dodano obsługę wykładników wymiernych większych niż jeden oraz dodano możliwość zapisywania sesji interaktywnej w pliku w celu zapewnienia rejestru wykonanych konwersji. Począwszy od wersji 2.10, 32-bitowa dystrybucja binarna Windows jest dostępna na stronie projektu (32-bitowy port Windows w wersji 1.87 jest dostępny od 2008 roku w ramach projektu GnuWin32 ).

Wersja 2.02, wydana 11 lipca 2013 r., dodała szesnastkowe dane wyjściowe zmiennoprzecinkowe i dwie inne opcje ułatwiające zmianę formatu wyjściowego.

Wersja 2.0, wydana 2 lipca 2012, dodała możliwość konwersji na sumy jednostek, takie jak godziny i minuty lub stopy i cale. Ponadto w tym wydaniu dodano obsługę kodowania UTF-8. Dodano przepis dotyczący definicji jednostek specyficznych dla regionu. Zmieniono składnię definiowania jednostek nieliniowych i dodano opcjonalne specyfikacje domeny i zakresu. Zmieniono nazwy plików danych standardowych i jednostek osobowych, a definicje walut umieszczono w osobnym pliku danych; dodano skrypt Pythona do aktualizacji definicji walut.

Historia wersji jest szczegółowo opisana w pliku NEWS dołączonym do dystrybucji źródłowej.

Stosowanie

Jednostki wyprowadzą wynik konwersji w dwóch wierszach. Zwykle pierwszy wiersz (mnożenie) jest pożądanym wynikiem; druga linia to ta sama konwersja wyrażona jako dzielenie.

Jednostki mogą również pełnić funkcję kalkulatora naukowego ogólnego przeznaczenia; zawiera kilka wbudowanych funkcji matematycznych, takich jak sin , cos , atan , ln , exp , itp.

Próba konwersji typów pomiarów, które są niezgodne, spowoduje wydrukowanie przez jednostki komunikatu o błędzie zgodności i wyświetlenie zmniejszonej formy każdego pomiaru.

Przykłady

Poniższe przykłady pokazują wyniki z jednostek GNU w wersji 2.10.

Tryb interaktywny

Currency exchange rates from www.timegenie.com on 2014-03-28
2729 units, 92 prefixes, 77 nonlinear units

You have: 10 furlongs
You want: miles
        * 1.25
        / 0.8
You have: 1 gallon + 3 pints
You want: quarts
        * 5.5
        / 0.18181818
You have: sqrt(meter)
                    ^
Unit not a root
You have: sqrt(acre)
You want: ft
        * 208.71033
        / 0.0047913298
You have: 21 btu + 6500 ft lbf
You want: btu
        * 29.352939
        / 0.034068139
You have: _
You want: J
        * 30968.99
        / 3.2290366e-005
You have: 3.277 hr
You want: time
        3 hr + 16 min + 37.2 sec
You have: 1|2 inch
You want: cm
        * 1.27
        / 0.78740157

Podkreślenie („_”) służy do wskazania wyniku ostatniej udanej konwersji jednostek.

W wierszu poleceń (nieinteraktywny)

C:\>units "ten furlongs per fortnight" "kilometers per hour"
        * 0.0059871429
        / 167.02458
% units cup ounces
conformability error
        0.00023658824 m^3
        0.028349523 kg

Wyrażenia jednostek złożonych

Jedną z postaci równania Darcy-Weisbacha dla przepływu płynu jest

gdzie Δ P jest spadkiem ciśnienia, ρ jest gęstością masową, f jest (bezwymiarowym) współczynnikiem tarcia, L jest długością rury, Q jest objętościowym natężeniem przepływu, a d jest średnicą rury. Może być pożądane, aby równanie miało postać

które zaakceptowałyby typowe jednostki amerykańskie; stałą A 1 można wyznaczyć ręcznie metodą współczynników jednostkowych , ale można ją wyznaczyć szybciej i łatwiej za pomocą jednostek :

$ units "(8/pi^2)(lbm/ft^3)ft(ft^3/s)^2(1/in^5)" psi
        * 43.533969
        / 0.022970568

Dokument techniczny dotyczący dźwigów nr 410, równ. 3-5, daje wartość multiplikatywną 43,5.

Bibliografia

  1. ^ Laboratoria Bell Telefon, Incorporated (1979). "Instrukcja Uniksa Siódma Edycja" . Murray Hill, NJ: Alcatel-Lucent Bell Labs . Źródło 2011-04-23 .Archiwum online stron podręcznika dołączonych do taśm dystrybucyjnych Unix Seventh Edition .
  2. ^ „Repozytorium CVS projektu Heirloom” . Pobrano 2016-02-01 .
  3. ^ Mariano Adrian (2014). "Jednostki: program przeliczania jednostek i kalkulator naukowy" . Boston, MA: Free Software Foundation, Inc . Pobrano 29.03.2014 .
  4. ^ Zgodnie z kilkomakonwencjami NetCDF , np.:
  5. ^ (język niemiecki) «GNU Units 2.0 berechnet Feet und Cale» , linux-magazin.de , 3 lipca 2012 r.
  6. ^ Jednostki GNU w wersji 2.10, Windows XP SP3, powłoka PTC MKS Korn
  7. ^ Dokument techniczny nr 410, Przepływ płynów przez zawory, złączki i rury . Nowy Jork: Crane Co. 1985.

Linki zewnętrzne