Аналог matlab для linux
Свободно распространяемое бесплатное ПО компьютерного моделирования
В замену 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 - мощный математический пакет для построения 2D и 3D графиков, решения задач линейной алгебры, работы с разряженными матрицами; предоставляет возможность использования интерполяции и аппроксимации, дифференциальной и недифференциальной оптимизации. Также пакет имеет встроенный язык. подробнее.
Maxima
Maxima - это система компьютерной алгебры, созданная на языке программирования Common Lisp, первый запуск которой состоялся в далеком 1982 году. Данная утилита предназначена для проведения аналитических и численных вычислений, а также формирования графиков функций. Эта разработка располагает несколькими графическими интерфейсами юзера (wxMaxima, XMaxima и прочими). Программа осуществляет численные расчеты максимально верно, поскольку применяет дроби, целые числа (как с плавающей точкой произвольной точности, так и без нее). Стоит отметить, что при использовании псевдографики, приложение способно функционировать в режиме командной строки. Система имеет довольно понятный интерфейс, несмотря на то, что современным его назвать сложно. подробнее.
Graph Online
Graph Online - бесплатный сервис, предназначенный для визуализации графа и поиска кратчайшего пути на графе. Создание графа выполняется по матрице смежности или матрице инцидентности. Кроме поиска кратчайшего пути можно осуществить поиск компонента связанности. Сервис поддерживает работу с орграфами и неориентированными графами. Построенный граф можно сохранить и продолжить работу с ним позже. подробнее.
SMath Studio
SMath Studio - хороший пакет для вычисления, упрощения математических графиков, построения графиков функций. Интерфейс программы очень понятный и не уступает MathCad. подробнее.
SMath Studio Cloud
SMath Studio Cloud - онлайн версия бесплатного математического пакета SMath Studio. Сервис поддерживает множество функций для математических вычислений и анализа: построение графиков (2D и 3D), множество математических функций, работа с матрицами, решение и упрощение выражений. Большим достоинством онлайн версии является возможность загрузки файлов *.sm, *.smz и *.xmcd. Сервис позволяет сохранить вычисления для дальнейшей работы, а также предоставить ссылку на них другим пользователям, распечатать. подробнее.
GNU Octave
GNU Octave - программный пакет решений для работы с математическими моделями и графиками. Программное обеспечение написано на языке программирования C++ и его можно внедрять в другие проекты. Программа имеет поддержку множества функций при решении математических задач, а в случае если пользователю не будет хватать её функционала, в сети всегда можно найти и расширить их с помощью дополнений. По заверениям разработчиков, совместим с таким ПО как MATLAB и поддерживает многие его функции. Так же программа является кроссплатформенной, что делает её доступной для всех пользователей разных операционных систем. подробнее.
Читайте также: