11 sposobów na wykonywanie obliczeń w terminalu Linux

Odkryj, jak efektywnie wykonywać obliczenia matematyczne w terminalu Linuksa, korzystając z narzędzi takich jak Bash, Python i SageMath.
Czy chciałbyś szybki sposób na rozwiązanie problemów matematycznych bez rozpraszania się, tak jak robią to naukowcy i inżynierowie? Wiele narzędzi umożliwia wykonywanie obliczeń matematycznych bezpośrednio w terminalu Linuksa. Dzięki tym programom możesz rozwiązywać proste problemy i sprawić, że trudniejsze staną się możliwe.
11 Operatorów aritmetycznych bash
Czy kiedykolwiek musiałeś przeprowadzać obliczenia arytmetyczne podczas pracy w Bash? Możesz skorzystać z operatorów arytmetycznych Bash. Jak w przypadku wszystkiego w Bash, składnia może wyglądać nieestetycznie, ale wykona swoje zadanie.
W Bash operacje arytmetyczne są zawarte w blokach $(( )) lub znaku dolara, po którym następują dwa otwarte nawiasy, a na końcu dwa zamknięte nawiasy. Operatory arytmetyczne są podobne do tych, które można znaleźć w kalkulatorze ręcznym lub w programie do arkuszy kalkulacyjnych.
Na przykład, aby dodać dwie liczby i wydrukować je w terminalu
echo $((2 + 2))Mówiłem, że to wygląda nieestetycznie. Powinno wydrukować liczbę 4 w terminalu.
Podobnie, aby odjąć dwie liczby;
echo $((3 - 5))Odpowiedź będzie -2. Mnożenie używa operatora *:
echo $((42 * 25))Operator potęgowania to ** (dwa znaki mnożenia). Możesz to zapamiętać, ponieważ potęgowanie to mnożenie liczby przez siebie:
echo $((7**2))
Dzielenie używa operatora / (ukośnik). Zwraca iloraz, ale nie resztę, która jest podawana przez operator modulo (%). Więc $((5 / 2)) zwróci 2, podczas gdy $((5 % 2)) zwróci 1, co jest resztą z dzielenia 5 przez 2. Wadą arytmetyki Bash jest to, że działa tylko na liczbach całkowitych.
Arytmetyka Bash może być lepiej dopasowana do skryptów, ale działa i jest dostępna w większości systemów Linux.
10 Python
Jeśli matematyka w Bash wygląda nieestetycznie, Python może być bardziej przystępny. Nie musisz poprzedzać swoich obliczeń $((, jak widać. Korzystanie z Pythona jest znacznie prostsze.
Wystarczy wpisać "python" w wierszu poleceń Linuksa. Jeśli masz zainstalowane iPython, możesz użyć tego zamiast. Gdy interaktywny prompt jest uruchomiony, możesz używać standardowych operatorów.
Na przykład, aby dodać:
2 + 2Aby odjąć:
5 - 3Aby pomnożyć:
123 * 456Aby podzielić:
393039 / 3292Arytmetyka w Pythonie również działa w punktach zmiennoprzecinkowych, co oznacza, że możesz od razu używać wartości dziesiętnych.
Operator potęgowania jest taki sam jak w Bash:
2**8To zwraca liczbę 256.
Opcje arytmetyczne w trybie interaktywnym Pythona są tak łatwe, że jest to powszechny żart wśród programistów Pythona, że Python świetnie nadaje się jako kalkulator biurkowy, co jest uznawane w oficjalnym samouczku kalkulatora Pythona.
Choć możesz używać Pythona do prostych obliczeń, jego biblioteki zwiększają jego moc. Możesz korzystać z wielu bibliotek, aby zająć się wszystkim, od statystyki po rachunek różniczkowy.
Te biblioteki oraz prostota Pythona sprawiają, że jest to język wyboru dla nauki, a te same narzędzia możesz mieć bezpośrednio na swoim komputerze.
9 SageMath
Jednym z moich ulubionych narzędzi do matematyki w terminalu jest SageMath. Jest to otwarte źródło zaprojektowane jako odpowiedź na duże komercyjne pakiety, takie jak MATLAB i Mathematica, które są szeroko stosowane w akademii i przemyśle. Jest przydatne, jeśli studiujesz zaawansowaną matematykę lub chcesz poeksperymentować z potężnym systemem obliczeniowym.
SageMath opiera się na Pythonie, ale korzysta z kilku innych projektów i bibliotek open-source, w tym z tych, które są wymienione w tym artykule.
SageMath to system algebry komputerowej, co oznacza, że operuje na matematyce symbolicznej, jak kalkulator ręczny na liczbach. Jeśli weźmiesz pierwiastek kwadratowy, oceni go symbolicznie:
sqrt(42)
Sage wyświetli 42 wewnątrz symbolu pierwiastka, ponieważ nie jest to liczba doskonała. Jeśli weźmiemy pierwiastek kwadratowy z 180:
sqrt(180)
Automatycznie wyciągnie 6, ponieważ 6 do kwadratu to 36, a 36 * 5 to 180, więc wynik symboliczny to 6 razy pierwiastek.
pierwiastek z 5.
Możesz uzyskać przybliżenie dziesiętne podobne do tego, co otrzymasz przy użyciu kalkulatora naukowego z funkcją n():
n(sqrt(180))
Możesz także wybrać liczbę cyfr, które chcesz dla precyzji, za pomocą opcji digits:
n(sqrt(180),digits=5)
Oczywiście, prawdopodobnie będziesz chciał zrobić więcej niż tylko obliczać pierwiastki kwadratowe.
Możesz używać SageMath jako kalkulatora jak w Pythonie i Bashu, ale możesz zrobić także ciekawe rzeczy, takie jak rozwiązywanie równań. Aby rozwiązać równanie 5x + 3 - 15, użyj funkcji solve, aby znaleźć x:
solve(5*x + 3 == 15,x)Sage zwróci odpowiedź 12/5. Wygląda na to, że lubi ułamki niewłaściwe.
Możesz także rozwiązywać równania kwadratowe
solve(2*x^2 + 3*x - 5,x)Wielomiany wyższych stopni działają w ten sam sposób.
Rozwiążmy system równań liniowych. Możesz użyć funkcji solve, ale musiałbyś wypisać równania w całości. Użycie macierzy oznacza mniej pisania. Oto jak to zrobić w SageMath. Moim ulubionym przykładem jest pierwszy, który zobaczysz na stronie Wikipedii poświęconej systemom równań liniowych:
3x + 2y - z = 1
2x - 2y + 4z = -2
-x + 1/2y - z = 0
Zdefiniujemy macierz współczynników, używając komendy matrix:
A = matrix([[3,2,-1],[2,-2,4],[-1,1/2,-1]]
Następnie zdefiniujemy wektor kolumnowy:
b = vector([1,-2,0])A potem rozwiążemy to:
A.solve_right(b)Jest znacznie więcej, niż mogę tutaj omówić. Ponieważ SageMath oparty jest na Pythonie, możesz używać innych bibliotek Pythona z potężnym systemem algebry komputerowej. Możesz mieć funkcjonalność kalkulatora graficznego za darmo i na znacznie lepszym ekranie.
8 Maxima
Maxima to kolejny podobny system algebry komputerowej do SageMath. Opiera się na dużo starszym systemie Macsyma, który pochodzi z lat 60. na MIT. Gdy Symbolics skomercjalizowało Maxima w latach 80., Departament Energii USA licencjonował oryginał do użytku akademickiego i rządowego.
Wersja ta ostatecznie stała się open-sourcowa i została przemianowana na Maxima. Maxima ma niewielką rzeszę zwolenników w akademickim środowisku do obliczeń matematycznych i naukowych. SageMath używa jej nawet do niektórych funkcji.
Operacje są podobne do tych w SageMath. Zdania kończą się średnikiem, co może być irytujące, jeśli o tym zapomnisz. Muszę ciągle pamiętać, aby umieszczać go na końcu zdań.
Pobranie pierwiastka kwadratowego z liczby jest proste:
sqrt(4);Możesz również rozwiązywać równania przy pomocy Maxima, podobnie jak w SageMath:
solve(5*x + 3 = 15,x);7 R
R to popularny język do analizy statystycznej i nauki o danych. Chociaż istnieją programy graficzne IDE, które można z nim używać, działa również chętnie w terminalu. Możesz przeprowadzać proste statystyki opisowe, takie jak średnie, mediany i odchylenia standardowe oraz przechodzić do regresji liniowych i testów statystycznych, takich jak t-Studenta, Chi-kwadrat i ANOVA.
Oto kilka prostych statystyk opisowych:
Zdefiniujmy mały zestaw danych. Lista w R nazywa się wektorem:
a <- c(23, 45,25)Obliczmy średnią wektora a:
mean(a)A medianę:
median(a)6 sc-im
sc-im to aplikacja arkusz kalkulacyjny, która działa w terminalu. Jeśli kiedykolwiek używałeś Lotus 1-2-3 w latach 80., układ może być ci znajomy. Opiera się na oryginalnym sc, opracowanym przez twórcę Javy, Jamesa Goslinga. Celem jest dodanie wielu usprawnień, podobnie jak w przypadku związku Vima z Vi.
Z sc-im możesz cofnąć się w czasie i wykonywać obliczenia w stylu tekstowym, wyobrażając sobie, że jesteś traderem na Wall Street.
Poruszasz się po sc-im podobnie jak w Vimie. Aby wprowadzić wartość numeryczną, naciśnij klawisz =.
Aby zsumować serię komórek, użyj funkcji sum:
=sum(A0:A4)
bc
bc to kalkulator wiersza poleceń, którego nazwa oznacza "Podstawowy Kalkulator." Oferuje wszystkie podstawowe operacje, których można się spodziewać w zwykłym kalkulatorze, ale bez frustrującej składni Bash. Tak jak Bash, bc jest częścią projektu GNU.
W przeciwieństwie do dc, bc działa w bardziej konwencjonalnym trybie notacji infiksowej. Na przykład, 2 + 2 to po prostu 2 + 2, tak jak większość ludzi uczy się tego w szkole.
dc
dc to bardzo stara narzędzie Unix, ale jest również szeroko dostępne w nowoczesnych systemach Linux. Używa formy wejścia zwanej Odwróconą Notacją Polską (RPN), która dominowała w kalkulatorach HP, z których korzystali naukowcy i inżynierowie w latach 70. i 80. XX wieku.
Kluczem do RPN jest stos. Wkładasz liczby na stos, jakby były sprężynującymi talerzami w stołówce, a następnie wyciągasz je, aby wykonać operacje. Aby obliczyć 23 + 45, wkładasz obie liczby na stos, a operator "+" je wyciąga i umieszcza wynik z powrotem na stosie.
Oto jak wygląda to w terminalu:
23 45 +
Używasz komendy "p", aby wydrukować wynik na terminalu.
Qalculate!/Qalc
Qalculate! jest znane jako potężny kalkulator z wieloma zaawansowanymi opcjami matematycznymi, ale ma również wariant wiersza poleceń, znany jako qalc. Wszystkie standardowe operacje są dostępne, ale zawiera również potężne operacje podobne do tych, które pokazano w innych programach CAS, w tym rachunek różniczkowy.
Podoba mi się sposób, w jaki podświetla wyniki w terminalu kolorem. Uważam, że to miły akcent i sprawia, że wyniki wyróżniają się na ekranie.
Jeśli jesteś prawdziwym maniakiem kalkulatorów, możesz nawet ustawić go w trybie RPN, jak w bc. Lista funkcji Qalculate to marzenie dla miłośników matematyki i nauki.
GNU Octave
GNU Octave to klon MATLAB-a, zaprojektowany do pracy z macierzami i wektorami algebry liniowej, szeroko stosowanymi we wszelkiego rodzaju obliczeniach naukowych i inżynieryjnych. Możesz mieć tę samą moc bez wysokiej opłaty licencyjnej.
Oto ten sam system, który rozwiązaliśmy wcześniej, rozwiązany w stylu Octave, mnożąc odwrotność macierzy przez wektor kolumnowy:
A = [3 2 -1; 2 -2 4; -1 1/2 -1] b = [1; -2; 0;] A \ b
Axiom
Podobnie jak Maxima, Axiom to system algebry komputerowej z długą historią. Idee stojące za Axiomem zostały pierwotnie opracowane przez IBM w latach 60. XX wieku. Został również wydany jako produkt komercyjny, który ostatecznie został otwarty.
Chociaż Axiom wykonuje swoje polecenia w terminalu, po otwarciu otrzymujesz zdecydowanie graficzny menu pomocy, które pokazuje wszystkie funkcje.
Podobnie jak SageMath i Maxima, możesz przenieść moc obliczeń naukowych na swoją maszynę, rozwiązując wszystko, od prostych równań po rachunek różniczkowy i algebrę liniową. Funkcja solve jest podobna do tej, którą widzieliśmy wcześniej.
solve(5*x + 3 = 15,x)
Nie ma wątpliwości, dlaczego Linux jest preferowanym systemem operacyjnym w społeczności naukowej. Istnieje wiele narzędzi dla naukowców, aby zrealizować swoje projekty, a już teraz możesz zacząć odkrywanie fascynujących światów matematyki i nauki bezpośrednio z terminalu, korzystając z tych narzędzi i wielu innych, które możesz odkryć w menedżerze pakietów.
Dowiedz się więcej: często zadawane pytania
Jak wykonać obliczenia w terminalu Linux?
Najbardziej oczywistym poleceniem do wykonywania obliczeń matematycznych w wierszu poleceń Linuksa jest expr. Oto kilka wskazówek, jak go używać:
- -
Podstawowe operacje
- :
- Dodawanie:
expr 2 + 3 - Odejmowanie:
expr 5 - 2
- Mnożenie:
expr 4 \* 2(znak mnożenia musi być poprzedzony znakiem ucieczki\) - Dzielenie:
expr 10 / 2 - Złożone obliczenia:
- Możesz łączyć wyrażenia:
expr 3 + 5 \* 2 - Zmienna:
- Możesz przypisać wynik do zmiennej:
result=$(expr 5 + 3). Innym przydatnym narzędziem do obliczeń jestbc, które obsługuje bardziej skomplikowane operacje matematyczne oraz liczby zmiennoprzecinkowe. Użycie: echo 'scale=2; 3/2' | bc(gdziescaleokreśla liczbę miejsc po przecinku). Dzięki tym poleceniom możesz szybko i efektywnie wykonywać obliczenia w terminalu Linux.
Jak wykonać dodawanie w terminalu Linuxa?
Aby wykonać dodawanie w terminalu Linuxa, można stworzyć prosty skrypt powłoki. Oto kroki, jak to zrobić:
- Utwórz nowy plik skryptu: bash touch dodawanie.sh chmod +x dodawanie.sh
- Otwórz plik w edytorze: bash nano dodawanie.sh
- Wprowadź poniższy kod: bash #!/bin/bash echo 'Wprowadź pierwszą liczbę:' read num1 echo 'Wprowadź drugą liczbę:' read num2 result=$((num1 + num2)) echo 'Wynik dodawania: $result'
- Zapisz plik i wyjdź z edytora.
- Uruchom skrypt: bash ./dodawanie.sh Skrypt poprosi użytkownika o wprowadzenie dwóch liczb, obliczy ich sumę i wyświetli wynik.
Jak wyświetlić informacje o systemie Linux?
Aby wyświetlić informacje o systemie Linux, użyj polecenia uname. Stosując to polecenie, jesteśmy w stanie pozyskać wiele informacji o naszym systemie operacyjnym. Oto kilka kluczowych opcji:
- -
uname -a
- Pokazuje wszystkie dostępne informacje o systemie.
uname -r- Wyświetla wersję jądra systemu.
uname -m- Informuje o architekturze maszyny (np. x86_64).
uname -n- Podaje nazwę hosta. Dzięki tym poleceniom szybko uzyskasz istotne dane o swoim systemie Linux.
Jak pomnożyć w terminalu Linuxa?
Aby pomnożyć dwie liczby w terminalu Linux, można użyć polecenia expr lub bc. Oto sposoby na ich wykorzystanie:
- Użycie
expr:- - Aby pomnożyć dwie liczby, użyj komendy w ten sposób: bash expr 5 * 3
- Zwróć uwagę na użycie znaku ucieczki
\przed*, aby uniknąć błędu. - Użycie
bc: - Możesz także użyć
bc, co daje możliwość wykonywania bardziej złożonych obliczeń: bash echo '5 * 3' | bc - To podejście obsługuje także liczby zmiennoprzecinkowe.
- Użycie arytmetyki powłoki:
- Możesz także korzystać z wbudowanej arytmetyki powłoki: bash echo $((5 * 3)) Wszystkie te metody pozwalają na szybkie i efektywne mnożenie liczb w terminalu Linux.
- - Aby pomno\u017cy\u0107 dwie liczby, u\u017cyj komendy w ten spos\u00f3b: bash expr 5 \\* 3
"}}]}
Jeśli ciekawią Cię artykuły podobne do 11 sposobów na wykonywanie obliczeń w terminalu Linux, zajrzyj do kategorii Linux i odkryj jeszcze więcej interesujących treści.
najprostszy sposób to ruby 😉
irb twoim przyjacielem, proste obliczenia w terminalu
np. ilość kombinacji zbioru 1..4
a = (1..4).to_a
=> [1, 2, 3, 4]
a.combination(2).each {|x,y| puts "#{x} #{y}" }
1 2
1 3
1 4
2 3
2 4
3 4proste i wygodne
Dodaj komentarz

Możesz być zainteresowany