Jednostki GNU — GNU Units
Deweloper(zy) | Projekt GNU |
---|---|
Wersja stabilna | 2.21 / 15 listopada 2020
|
Magazyn | web |
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 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.
S
namegohm
). - 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
- ^ 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 .
- ^ „Repozytorium CVS projektu Heirloom” . Pobrano 2016-02-01 .
- ^ Mariano Adrian (2014). "Jednostki: program przeliczania jednostek i kalkulator naukowy" . Boston, MA: Free Software Foundation, Inc . Pobrano 29.03.2014 .
-
^ Zgodnie z kilkomakonwencjami NetCDF , np.:
- COARDS — „Konwencje standaryzacji plików NetCDF” . 1995-02-10. Zarchiwizowane od oryginału dnia 2010-05-27 . Pobrano 2007-04-12 .
- CF — „Konwencje metadanych dotyczących klimatu i prognoz NetCDF (CF)” . 2014-03-29.
- ^ (język niemiecki) «GNU Units 2.0 berechnet Feet und Cale» , linux-magazin.de , 3 lipca 2012 r.
- ^ Jednostki GNU w wersji 2.10, Windows XP SP3, powłoka PTC MKS Korn
- ^ Dokument techniczny nr 410, Przepływ płynów przez zawory, złączki i rury . Nowy Jork: Crane Co. 1985.