Аналог matlab для linux

Обновлено: 03.07.2024

Свободно распространяемое бесплатное ПО компьютерного моделирования

В замену MatLab, - хорошего самого по себе продукта, но имеющего сегодня настолько высокую базарную цену, что при пользовании им сразу приходит на ум народная пословица: "овчинка выделки не стоит". Цена его - базарная потому, что его дилеры, не имеющие никакого отношения к производству этого продукта, диктуют свои безмерно спекулятивные цены. При попытке узнать стоимость MatLab вам предлагают заполнить всестороннюю анкету, - как будто бы вы находитесь на приеме в ГПУ или Гестапо, - и, в зависимости от того, насколько они считают возможным вас "нагреть" - назначают цену. Натуральный восточный базар. Для студентов, предоставляя им демо-версию, требуют такого же доноса на родной ВУЗ. Именно поэтому я не рекомендую использовать MatLab, а предлагаю пользоваться бесплатным ПО, которое ничуть не хуже. Среди них следующие пакеты компьютерного моделирования.

FreeMat - среда для инженерного и научного моделирования

FreeMat - это свободная (бесплатная) среда для инженерного и научного моделирования и обработки данных. FreeMat похожа на такие коммерческие среды как Matlab и IDL, но является продуктом с открытым исходным кодом, распространяемым по лицензии GPL. FreeMat использует инструментарий Qt, что обеспечивает кроссплатформенность этого продукта.

Также в среде имеется удобная система помощи и документации. Чрезвычайно расширяем, благодаря поддержке модулей, написанных на языке системы. FreeMat имеет возможности, обеспечивающие примерно 95% функциональности среды Matlab. Недостаток - отсутствие поддержки создания графических интерфейсов в стиле Matlab (а важна ли эта функция?).


GNU Octave

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

Octave представляет интерактивный командный интерфейс для решения линейных и нелинейных математических задач, а также проведения других численных экспериментов. Кроме того, Octave можно использовать для пакетной обработки. Язык Octave оперирует арифметикой вещественных и комплексных скаляров и матриц, имеет расширения для решения линейных алгебраических задач, нахождения корней систем нелинейных алгебраических уравнений, работы с полиномами, решения различных дифференциальных уравнений, интегрирования систем дифференциальных и дифференциально-алгебраических уравнений первого порядка, интегрирования функций на конечных и бесконечных интервалах. Этот список можно легко расширить, используя язык Octave (или используя динамически загружаемые модули, созданные на языках C, С++, Фортран и др.).


Свойства GNU Octave

  • Octave написан на C++ с использованием библиотеки STL;
  • Для запуска скриптов Octave использует интерпретатор;
  • Octave можно дополнять динамически подгружаемыми модулями;
  • Для создания и распечатки графиков Octave использует gnuplot и Grace.

Язык Octave

Octave — интерпретируемый язык программирования. Он похож на C и поддерживает большинство основных функций стандартной библиотеки C, а также основные команды и системные вызовы Unix. С другой стороны, он не поддерживает передачу аргументов по ссылке (особенность дизайна).

Синтаксис языка очень похож на MATLAB, и грамотно написанные скрипты будут запускаться как в Octave, так и в MATLAB.

Octave был написан с учётом совместимости с MATLAB и реализует многие его возможности:

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

Но есть и отличия, не ухудшающие его свойств:

Ссылки

Scilab

Scilab (читается Сайлэб) — пакет прикладных математических программ, предоставляющий мощное открытое окружение для инженерных (технических) и научных расчётов.

С 1994 года распространяется вместе с исходным кодом через Интернет. В 2003 году для поддержки Scilab был создан консорциум Scilab Consortium. Сейчас в него входят 25 участников, в том числе Mandriva, INRIA и ENPC (Франция).


Возможности Scilab

Scilab содержит сотни математических функций, и есть возможность добавления новых, написанных на различных языках (C, C++, Fortran и т. д.). Также имеются разнообразные структуры данных (списки, полиномы, рациональные функции, линейные системы), интерпретатор и язык высокого уровня.

Scilab был спроектирован как открытая система, и пользователи могут добавлять в него свои типы данных и операции путём перегрузки.

В системе доступно множество инструментов:

  • 2D и 3D графики, анимация
  • Линейная алгебра, разреженные матрицы (sparse matrices)
  • Полиномиальные и рациональные функции
  • Интерполяция, аппроксимация
  • Симуляция: решение ОДУ и ДУ
  • Scicos: гибрид системы моделирования динамических систем и симуляции
  • Дифференциальные и не дифференциальные оптимизации
  • Обработка сигналов
  • Параллельная работа
  • Статистика
  • Работа с компьютерной алгеброй
  • Интерфейс к Fortran, Tcl/Tk, C, C++, Java, LabVIEW

Scilab имеет схожий с MATLAB язык программирования. В состав пакета входит утилита, позволяющая конвертировать документы Matlab в Scilab. Scilab позволяет работать с элементарными и большим числом специальных функций (Бесселя, Неймана, интегральные функции), имеет мощные средства работы с матрицами, полиномами (в том числе и символьно), производить численные вычисления (например, численное интегрирование) и решение задач линейной алгебры, оптимизации и симуляции, мощные статистические функции, а также средство для построения и работы с графиками.

Для численных расчётов используются библиотеки Lapack, LINPACK, ODEPACK , Atlas и другие.

В состав пакета также входит Scicos — инструмент для редактирования блочных диаграмм и симуляции (аналог simulink в пакете MATLAB). Имеется возможность совместной работы Scilab с программой LabVIEW.

Программа доступна для различных операционных систем, включая Linux и Microsoft Windows. Возможности Scilab могут быть расширены внешними программами и модулями, написанными на разных языках программирования. Программа имеет открытый исходный код, что позволяет как свободное коммерческое использование и распространение неизменённых версий, так и некоммерческое распространение измененных версий, которые должны включать в себя исходный код. Для коммерческого распространения измёненных версий необходимо согласование с INRIA.

Начиная с версии 5.0 программа распространяется под совместимой с GNU GPL 2 лицензией CeCILL.

Отличия Scilab от некоторых коммерческих программ:

  • Бесплатность.
  • Свободность (с версии 5.0).
  • Маленький размер — дистрибутив 4 версии занимал менее 20 МБ против более чем 7-гигабайтного пакета MATLAB. Инсталлятор 5 версии (5.4.1) увеличился в объёме до 117 МБ.
  • Возможность запуска в консоли без использования графического интерфейса, в том числе в версии под Windows (в UNIX и Windows версиях MatLab-а эта возможность присутствует тоже). Это позволяет производить автоматизированные вычисления, есть пакетный режим.

Maxima

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


С ее помощью можно проводить операции:

  • с векторами, матрицами и тензорами;
  • дифференцирования, интегрирования, вычисления пределов;
  • разложения в ряд, преобразования Лапласа;
  • обыкновенные дифференциальные уравнения;
  • задачи обработки экспериментальных данных;
  • нелинейные уравнений и системы.

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

Этим перечнем возможности пакета не ограничиваются. Подробно с пакетом можно ознакомиться в книге Евгения Анатольевича Чичкарёва.

Следует обратить внимание, что в Maxima присутствует встроенный макроязык, благодаря чему программа становится практически неограниченно расширяемым инструментом для проведения как численных, так и символьных вычислений. А совместно с текстовым редактором Texmacs и пакетом Scilab может быть более мощной средой в ОС семейства Linux для проведения расчетов и оформления документов, чем всем известный MathCad в среде Windows.

На сегодняшний день Maxima - незаменимый инструмент не только на компьютере ученого, но и уникальная программа для использования в учебном процессе при изучении классического курса высшей математики в университетах.

А еще есть всякие максимы и т.п. Ну, а если только рисовать - гнуплот к вашим услугам.

Вo-вторых, octave, scilab


на pirate bay поищи


>Вo-вторых, octave, scilab

1)по юзабельности они и рядом не стоят

2) в качестве интерпретатора для матлаб-скриптов огребешь много проблем из-за недостающих функций


ты какой-то назойливый


btw: octave, sage же.

octave, R, maxima


Дешёвая? 100 баксов базовая + 30 баксов каждый тулбокс?

Скажите лучше, Instructor Evaluation пробовал кто-то заказать?

Конечно дешевая, по сравнению с шестью килобаксами за базовый набор (для некоммерческого использования без академ-лицензии).

> 1)по юзабельности они и рядом не стоят

Линукс тоже по юзабельности рядом с виндой не стоит, так что ли?

2) в качестве интерпретатора для матлаб-скриптов огребешь много проблем из-за недостающих функций

Не думаю, что у человека имеется библиотека матлаб-скриптов.

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


И заметь, это одна копия! По-моему лучше самому нашкарябать скрипт или дать смышлённому студенту задачу реализовать некую недостающую функцию вместо какой-то скучной лабы.



>>Вo-вторых, octave, scilab

1)по юзабельности они и рядом не стоят

я бы не сказал. Пользовал их оба. octave не хуже.

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


>octave не хуже.

с каким фронт-эндом?

и не забыть запостить функцию в апстрим. хотя как вспомню, что мне студенты на лабах пишут - так вздрогну. ну его нафиг.


>>octave не хуже.

причем тут фронтенд?

я matlabом из консоли рулил в основном (ну + редактор какой-то еще был с кнопками Запустить/остановить).

Под линухом vim + иногда qtoctave запускал. Но в основном тоже из консоли все.


>Октав по производительности матричных вычислений на порядок проигрывает матлабу. Скилаб не пробовал.

ну не на порядок, но проигрывает. Работать вполне можно и ладно.

это если 10-20 матриц перемножить. если же несколько тысяч - то разница существенна.

Бляхерд мухерд, вопроса про перемножение матриц тоже не стояло.

Откуда всплывают долбанные невтемачные вопросы? Про моделирование двигателя внутреннего сгорания щас ещё кто-нибудь заговорит и опустит по этому параметру octave.


>это если 10-20 матриц перемножить. если же несколько тысяч - то разница существенна.

есть такое. Даже больше скажу. У octave были траблы с работой с матрицами размерностью > 65535. как сейчас не знаю. Может починили.

Но это не является каким-либо существенными аргументоми против. Просто это факт. С ними мало кому приходиться сталкиваться. А если и столкнешься, то кто мешает потом в универе на matlab оставить считать?

Или просто тяжелый участок кода скомпилировать (или даже сразу написать) в С (octave такое умеет вроде).


>Бляхерд мухерд, вопроса про перемножение матриц тоже не стояло.

юзай octave и не ори.

И заранее спасу тебя от граблей и анального траха:

добавь в свой .bashrc


из консоли разницы нет, наверное, я GUI имел в виду


я в malab особого GUI и не заметил. Так. менюшка какая-то + редактор. ничего сверхестественного. Хотя если брать simulink туда, то аналога я не знаю.

Но ТС это незачем )


>из консоли разницы нет, наверное, я GUI имел в виду

Кстати, qtoctave есть еще.


имхо, сливает qtoctave матлабному GUI. По краней мере изучать с нуля в матлабе гораздо проще

> это если 10-20 матриц перемножить. если же несколько тысяч - то разница существенна.

Какой идиот перемножает несколько тысяч матриц в матлабе? Матлаб — средство быстро построить прототип работающей программы. Нужна производительность — переписываешь на C/C++/фортране

> FFT рисовать, синусы-косинусы, компл. числа.

> Какой идиот перемножает несколько тысяч матриц в матлабе? Матлаб — средство быстро построить прототип работающей программы. Нужна производительность — переписываешь на C/C++/фортране

сам пиши на фортране для 1-2х запусков. Суммарное время на получение результата при работе в матлабе в моём случае меньше.


Для численных расчетов и анализа данных часто используется математический пакет Matlab, но это коммерческая программа, и довольно дорогая. Студенты, изучающие машинное обучение, часто интересуются наличием доступных альтернатив Matlab, которые были бы бесплатными, и при этом достаточно мощными. Это позволило бы им не тратить свои деньги на программное обеспечение. Ниже я представлю лучшие бесплатные математические пакеты, которые могли бы послужить альтернативой Matlab в Ubuntu/Linux Mint.

1: GNU Octave


Для установки GNU Octave в Ubuntu/Linux Mint откройте терминал и введите следующую команду:

В качестве альтернативы вы можете скачать исходный код и собрать пакет самостоятельно.

2: Genius


Для установки Genius в Ubuntu/Linux Mint откройте терминал и введите следующие команды:

Либо вы можете скачать исходный код последней сборки и собрать пакет самостоятельно.

3: Sagemath


Для установки последней версии Sagemath из PPA в Ubuntu/Linux Mint откройте терминал и введите следующие команды:

Для установки Sagemath в Ubuntu/Linux Mint из репозитория Universe, откройте терминал и введите следующие команды:

Либо вы можете скачать исходный код последней сборки и собрать пакет самостоятельно.

4: Scilab


Для установки Scilab в Ubuntu/Linux Mint из репозитория Universe, откройте терминал и введите следующие команды:

Либо вы можете скачать исходный код последней сборки и собрать пакет самостоятельно.

5: FreeMat


Для установки FreeMat в Ubuntu/Linux Mint из репозитория Universe откройте терминал и введите следующие команды:

Либо вы можете скачать исходный код последней сборки и собрать пакет самостоятельно.

Бесплатная программа Scilab

Windows, Linux, Mac OS X официальный сайт 06 февраль 2016 Бесплатное ПО - лицензия для личного и коммерческого использования подробнее. Математические пакеты 7

Scilab - мощный математический пакет для построения 2D и 3D графиков, решения задач линейной алгебры, работы с разряженными матрицами; предоставляет возможность использования интерполяции и аппроксимации, дифференциальной и недифференциальной оптимизации. Также пакет имеет встроенный язык. подробнее.

Maxima

Бесплатная программа Maxima

Windows, Linux официальный сайт 06 февраль 2016 GNU General Public License - лицензия для личного и коммерческого использования подробнее. Математические пакеты 10

Maxima - это система компьютерной алгебры, созданная на языке программирования Common Lisp, первый запуск которой состоялся в далеком 1982 году. Данная утилита предназначена для проведения аналитических и численных вычислений, а также формирования графиков функций. Эта разработка располагает несколькими графическими интерфейсами юзера (wxMaxima, XMaxima и прочими). Программа осуществляет численные расчеты максимально верно, поскольку применяет дроби, целые числа (как с плавающей точкой произвольной точности, так и без нее). Стоит отметить, что при использовании псевдографики, приложение способно функционировать в режиме командной строки. Система имеет довольно понятный интерфейс, несмотря на то, что современным его назвать сложно. подробнее.

Graph Online

Бесплатная программа Graph Online

Windows, Linux, FreeBSD, Mac OS X, Android, iOS, Веб-сервис официальный сайт 04 февраль 2016 Бесплатное ПО - лицензия для личного и коммерческого использования подробнее. Математические пакеты 8

Graph Online - бесплатный сервис, предназначенный для визуализации графа и поиска кратчайшего пути на графе. Создание графа выполняется по матрице смежности или матрице инцидентности. Кроме поиска кратчайшего пути можно осуществить поиск компонента связанности. Сервис поддерживает работу с орграфами и неориентированными графами. Построенный граф можно сохранить и продолжить работу с ним позже. подробнее.

SMath Studio

Бесплатная программа SMath Studio

Windows, Linux официальный сайт 06 февраль 2016 Бесплатное ПО - лицензия для личного и коммерческого использования подробнее. Математические пакеты 16

SMath Studio - хороший пакет для вычисления, упрощения математических графиков, построения графиков функций. Интерфейс программы очень понятный и не уступает MathCad. подробнее.

SMath Studio Cloud

Бесплатная программа SMath Studio Cloud

Windows, Linux, FreeBSD, Mac OS X, Android, iOS, Веб-сервис официальный сайт 06 февраль 2016 Бесплатное ПО - лицензия для личного и коммерческого использования подробнее. Математические пакеты 61

SMath Studio Cloud - онлайн версия бесплатного математического пакета SMath Studio. Сервис поддерживает множество функций для математических вычислений и анализа: построение графиков (2D и 3D), множество математических функций, работа с матрицами, решение и упрощение выражений. Большим достоинством онлайн версии является возможность загрузки файлов *.sm, *.smz и *.xmcd. Сервис позволяет сохранить вычисления для дальнейшей работы, а также предоставить ссылку на них другим пользователям, распечатать. подробнее.

GNU Octave

Бесплатная программа GNU Octave

Windows, Linux, FreeBSD, Mac OS X официальный сайт 29 июля 2016 GNU General Public License - лицензия для личного и коммерческого использования подробнее. Математические пакеты 1

GNU Octave - программный пакет решений для работы с математическими моделями и графиками. Программное обеспечение написано на языке программирования C++ и его можно внедрять в другие проекты. Программа имеет поддержку множества функций при решении математических задач, а в случае если пользователю не будет хватать её функционала, в сети всегда можно найти и расширить их с помощью дополнений. По заверениям разработчиков, совместим с таким ПО как MATLAB и поддерживает многие его функции. Так же программа является кроссплатформенной, что делает её доступной для всех пользователей разных операционных систем. подробнее.

Бесплатная программа Mas.Exponenta.ru

Windows, Linux, FreeBSD, Mac OS X, Android, iOS, Веб-сервис официальный сайт 09 мая 2017 Бесплатное ПО - лицензия для личного и коммерческого использования подробнее. Математические пакеты 15

Читайте также: