11 способов выполнения математических вычислений в терминале Linux

11 способов выполнения математических вычислений в терминале Linux

Хотите ли вы быстрый, не отвлекающий способ решения математических задач так, как это делают ученые и инженеры? Многие инструменты позволяют вам выполнять математические расчеты прямо в терминале Linux. С помощью этих программ вы можете решать простые задачи и делать сложные возможными.

11 арифметических операторов Bash

Вам когда-нибудь приходилось выполнять арифметические действия, работая в Bash? Вы можете использовать арифметические операторы Bash. Как и все остальное в Bash, синтаксис может выглядеть уродливо, но он справится со своей задачей.

11 способов выполнения математических вычислений в терминале Linux

В Bash арифметические операции заключаются в блоки $(( )) или знак доллара, за которым следуют две открывающие скобки, и закрываются двумя закрывающими скобками. Арифметические операторы похожи на те, которые вы можете найти на ручном калькуляторе или в программе для работы с электронными таблицами.

Например, чтобы сложить два числа и вывести их на терминал

эхо $ ((2 + 2))

Я же говорил, что это уродливо. Он должен выводить на терминал число 4.

Аналогично, чтобы вычесть два числа;

эхо $((3 — 5))

Ответ будет -2. Умножение использует оператор *:

эхо $((42 * 25))

Оператор возведения в степень — ** (две звездочки). Вы можете запомнить это по тому факту, что возведение в степень — это умножение числа на само себя:

эхо $((7**2))

Деление использует оператор / (косая черта). Он возвращает частное, но не остаток, который дается оператором по модулю (%). Таким образом, $((5 / 2)) вернет 2, а $((5 % 2) вернет 1, что является остатком от деления 5 на 2. Недостатком арифметики Bash является то, что она обрабатывает только целые числа.

Арифметика Bash, возможно, больше подходит для скриптов, но она работает и доступна в большинстве систем Linux.

10 Питон

Если математика Bash уродлива, Python может быть более приемлемым. Вам не нужно предварять свои вычисления $((, в конце концов. Использовать Python гораздо проще.

11 способов выполнения математических вычислений в терминале Linux

Просто введите «python» в командной строке Linux. Если у вас установлен iPython, вы можете использовать его. При запущенной интерактивной командной строке вы можете использовать стандартные операторы.

Например, чтобы добавить:

2 + 2

И вычесть:

5 — 3

Для умножения:

123 * 456

И разделить:

393039 / 3292

Арифметика в Python также работает с плавающей точкой, что означает, что вы можете сразу использовать десятичные дроби.

Оператор возведения в степень такой же, как и в Bash:

2 ** 8

Это возвращает число 256.

Арифметические возможности в интерактивном режиме Python настолько просты, что среди программистов Python появилась распространенная шутка: Python — отличный настольный калькулятор, что подтверждается в официальном руководстве по калькулятору Python.

Хотя вы можете использовать Python для простой арифметики, его библиотеки добавляют ему мощности. Вы можете использовать множество библиотек, чтобы справиться со всем, от статистики до исчисления.

11 способов выполнения математических вычислений в терминале Linux

Эти библиотеки и простота Python делают его предпочтительным языком для науки, и вы можете иметь эти же инструменты прямо на своем рабочем столе.

9 МудрецМатематика

Один из моих любимых терминальных математических инструментов — SageMath. Он задуман как ответ с открытым исходным кодом на основные фирменные пакеты, такие как MATLAB и Mathematica, которые широко используются в академических кругах и промышленности. Он полезен, если вы изучаете продвинутую математику или хотите поиграться с мощной вычислительной системой.

SageMath основан на Python, но использует несколько других проектов и библиотек с открытым исходным кодом, включая те, которые упомянуты в этой статье.

SageMath — это система компьютерной алгебры, что означает, что она оперирует символической математикой так же, как ручной калькулятор оперирует числами. Если вы возьмете квадратный корень, он оценит его символически:

sqrt (42)

Sage отобразит 42 внутри радикального символа, потому что это не полный квадрат. Если мы возьмем квадратный корень из 180:

sqrt (180)

Он автоматически вынесет за скобки число 6, поскольку 6 в квадрате равно 36, а 36 * 5 равно 180, поэтому символический результат равен 6, умноженному на квадратный корень из 5.

11 способов выполнения математических вычислений в терминале Linux

Вы можете получить десятичное приближение, подобное тому, которое вы получили бы с помощью научного калькулятора, с помощью функции n():

n(кв. корень(180))

Вы также можете выбрать необходимое количество цифр для точности с помощью параметра «Цифры»:

n(sqrt(180),цифры=5)

Конечно, вам, вероятно, захочется сделать больше, чем просто извлечь квадратные корни.

Вы можете использовать SageMath как калькулятор, как и в Python и Bash, но вы можете делать некоторые интересные вещи, например, решать уравнения. Чтобы решить 5x + 3 — 15, используйте функцию решения для решения относительно x:

решить(5*x + 3 == 15,x)

Sage вернет ответ 12/5. Похоже, ему нравятся неправильные дроби.

Вы также можете решать квадратные уравнения

решить(2*x^2 + 3*x — 5,x)

11 способов выполнения математических вычислений в терминале Linux

Полиномы более высоких степеней работают таким же образом.

Давайте решим систему линейных уравнений. Вы можете использовать функцию resolve, но вам придется выписывать уравнения полностью. Использование матрицы означает меньше ввода. Вот как это делается в SageMath. Мой любимый пример — первый, который вы видите на странице Википедии для систем линейных уравнений:

3x + 2y — z = 1

2x -2y + 4z = -2

-x + 1/2y — z = 0

Определим матрицу коэффициентов с помощью команды matrix:

A = matrix([[3,2,-1],[2,-2,4],[-1,1/2,-1]]

Затем определим вектор-столбец:

 b = вектор([1,-2,0])

И тогда мы решим это:

A.решить_правильно(b)

11 способов выполнения математических вычислений в терминале Linux

Здесь гораздо больше, чем я могу охватить. Поскольку SageMath основан на Python, вы можете использовать другие библиотеки Python с мощной системой компьютерной алгебры. Вы можете получить функциональность графического калькулятора бесплатно и на гораздо лучшем экране.

8 Максима

Maxima — еще одна похожая на SageMath система компьютерной алгебры. Она основана на гораздо более старой системе Macsyma, созданной в 1960-х годах в MIT. В то время как Symbolics коммерциализировала Maxima в 1980-х годах, Министерство энергетики США лицензировало оригинал для академического и государственного использования.

11 способов выполнения математических вычислений в терминале Linux

Эта версия в конечном итоге будет открыта и переименована в Maxima. Maxima имеет небольшое количество последователей в академических кругах для математических и научных вычислений. SageMath даже использует ее для некоторых функций.

Операции похожи на SageMath. Операторы завершаются точкой с запятой, что может раздражать, если вы забудете ее. Мне приходится постоянно помнить, что ее нужно ставить в конце операторов.

Извлечь квадратный корень из числа легко:

sqrt(4);

Вы также можете решать уравнения с помощью Maxima, аналогично SageMath:

решить(5*x + 3 = 15,x);

7 Р

R — популярный язык для статистического анализа и науки о данных. Хотя существуют графические программы, подобные IDE, которые вы можете использовать с ним, он также будет с удовольствием работать в терминале. Вы можете выполнять простые описательные статистики, такие как средние значения, медианы и стандартные отклонения, а также переходить к линейным регрессиям и статистическим тестам, таким как t-критерий Стьюдента, хи-квадрат и ANOVA.

Вот несколько простых описательных статистических данных:

Давайте определим небольшой набор данных. Список в R называется вектором:

а <- с(23, 45,25)

Возьмем среднее значение вектора a:

среднее(а)

И медиана:

медиана(а)

11 способов выполнения математических вычислений в терминале Linux

6 sc-им

11 способов выполнения математических вычислений в терминале Linux

sc-im — это приложение для работы с электронными таблицами, работающее в терминале. Если вы когда-либо использовали Lotus 1-2-3 в 80-х, то его макет может показаться вам знакомым. Он основан на оригинальном sc, разработанном создателем Java Джеймсом Гослингом. Он нацелен на добавление ряда улучшений, похожих на отношения Vim и Vi.

С помощью sc-im вы можете вернуться назад во времени, просмотреть цифры в текстовом виде и представить, что вы трейдер с Уолл-стрит.

Перемещение по sc-im аналогично Vim. Чтобы ввести числовое значение, нажмите клавишу =.

Чтобы суммировать ряд ячеек, используйте функцию суммы:

=сумма(A0:A4)

5 г. до н.э.

11 способов выполнения математических вычислений в терминале Linux

bc — это командный калькулятор, который расшифровывается как «Basic Calculator». Он имеет все основные операции, которые можно ожидать от простого калькулятора, но без раздражающего синтаксиса Bash. Как и Bash, bc является частью проекта GNU.

В отличие от dc, bc работает в более традиционном режиме инфиксной записи. Например, 2 + 2 — это просто 2 + 2, так, как большинство людей учат это делать в школе.

4 постоянного тока

11 способов выполнения математических вычислений в терминале Linux

dc — очень старая утилита Unix, но она также широко доступна в современных системах Linux. Она использует форму ввода, называемую Reverse Polish Notation или RPN, которая доминировала на калькуляторах HP, используемых учеными и инженерами в 1970-х и 1980-х годах.

Ключ к RPN — это стек. Вы помещаете числа в стек, как будто они подпружинивают тарелки в колодце кафетерия, и выталкиваете их для выполнения операций. Чтобы вычислить 23 + 45, вы помещаете оба числа в стек, а оператор «+» выталкивает их и помещает результат обратно в стек.

Вот как это выглядит в терминале

23
45
+

Для вывода результата на терминал используется команда «p».

3 Калькулировать!/Кальц

11 способов выполнения математических вычислений в терминале Linux

Qalculate! хорошо известен как мощный калькулятор с большим количеством дополнительных математических опций, но у него также есть вариант командной строки, известный как qalc. Все стандартные операции там есть, но у него также есть некоторые мощные операции, похожие на те, что я показал в других программах CAS, включая исчисление.

Мне нравится, как он выделяет результаты в терминале цветом. Я думаю, это приятный штрих, который выделяет результаты на экране.

Если вы настоящий зануда калькуляторов, вы даже можете установить его в режим RPN, как в bc. Список функций Qalculate — мечта любителя математики и естественных наук.

2 GNU-октава

GNU Octave — это клон MATLAB, он разработан для работы с матрицами и векторами линейной алгебры, широко используемыми во всех видах научных и инженерных расчетов. Вы можете получить ту же мощность без большой платы за лицензию.

Вот та же система, которую мы решили ранее, решенная в стиле Octave путем умножения обратной матрицы на вектор-столбец:

А = [3 2 -1; 2 -2 4; -1 1/2 -1]
б = [1; -2; 0;]
А б

11 способов выполнения математических вычислений в терминале Linux

1 Аксиома

11 способов выполнения математических вычислений в терминале Linux

Как и Maxima, Axiom — это система компьютерной алгебры с долгой историей. Идеи, лежащие в основе Axiom, были изначально разработаны IBM еще в 1960-х годах. Она также была выпущена как коммерческий продукт, который в конечном итоге стал открытым исходным кодом.

Пока Axiom запускает команды в терминале, при его открытии вы видите графическое меню справки, в котором показаны все функции.

Как и в случае с SageMath и Maxima, вы можете перенести мощь научных вычислений на свою машину, решая любые задачи: от решения простых уравнений до исчисления и линейной алгебры. Функция решения похожа на ту, что мы видели ранее.

решить(5*x + 3 = 15,x)

Недаром Linux является ОС, которую выбирают научные круги. Существует множество инструментов для исследователей, которые позволяют им выполнять свою работу, и вы можете начать изучать увлекательные миры математики и науки прямо со своего терминала, используя эти инструменты и многое другое, что вы можете обнаружить в своем менеджере пакетов.

Валентин Павлов/ автор статьи
Страсть Влентина к играм началась с Resident Evil, и с тех пор он не переставал играть в хоррор-игры. Пишет экспертные руководства для самых сложных игр и обзоры для самых громких релизов. Является магистром журналистики и имеет степень бакалавра лингвистики. Любимые игры: GTA 5, Silent Hill 2, Call of Duty: Modern Warfare 2, Heavy Rain, Metro 2033 и другие.
Понравилась статья? Поделиться с друзьями:
Добавить комментарий