Недавно я присоединился к людям, использующим Linux. В результате я пытаюсь заменить как можно больше приличных приложений бесплатными — и, если возможно, с открытым исходным кодом — альтернативами.
Поскольку мне нужен достойный инструмент для моих математических экспериментов, и я использовал MATLAB R2013b в своей предыдущей установке Windows, мне не терпится узнать о бесплатных — предпочтительно с открытым исходным кодом — альтернативах Matlab, которые будут работать в Linux (Ubuntu).
Существуют ли бесплатные альтернативы Matlab, работающие в Linux? Что для меня наиболее важно, так это то, что альтернатива Matlab должна быть близкой, когда речь идет о совместимости синтаксиса… так что большинство программ можно легко портировать (или, если возможно, импортировать). Кроме того, я почти уверен, что ни одна альтернатива не будет иметь полный набор функций, предоставляемых Matlab, поэтому для меня также было бы важно знать, какие различия в функциональности я должен ожидать при использовании предложенных вами альтернатив. Значение: есть ли что-то, что может сделать бесплатная альтернатива (альтернативы), чего не может сделать MATLAB R2013b, и наоборот?
В Linux нет единой замены Matlab. Matlab — это действительно огромный программный пакет, включающий довольно обширную библиотечную экосистему.
Octave — бесплатная альтернатива Matlab. Не хватает некоторых функций, но все основные есть. Я использовал оба, но довольно сложно дать хорошую оценку, основанную на моих собственных ощущениях. На этой странице перечислены некоторые незначительные отличия, но в основном случаи, когда Octave лучше, чем Matlab. Вероятно, самая большая проблема заключается в том, что некоторые функции действуют по-разному, например, произведение логических значений и загрузка пустых файлов . Это важно, поскольку затрудняет портирование ваших собственных скриптов, так как случаются неожиданные вещи.
Мои собственные чувства таковы, что
При этом Octave бесплатен, а Matlab стоит намного больше, чем средний потребитель может себе позволить.
Sagemath — еще одна альтернатива, но по функциональности она ближе к Mathematica.
Чтобы узнать больше о самодельных решениях, взгляните на R, Scilab и Python. С ними вы не получите интегрированный пакет «все в одном», и кривая обучения довольно крутая.
как сказал Олли, Ocatave - это альтернатива Matlab:
Синтаксис почти идентичен. он будет потреблять почти все m-файлы без изменений. mfile также является форматом по умолчанию. Синтаксис настолько идентичен, что курс Matlab моего университета использует октаву в автогрейдере, хотя модуль преподается полностью в Matlab и упоминает октаву только один раз вскользь.
Высококачественная интеграция библиотеки BLAS (обычно я считаю, что она интегрирована с OpenBlas, но это может зависеть от вашей системы, это может быть Atlas). Из-за BLAS, как и в Matlab, гораздо эффективнее использовать векторные методы (а не для циклов), поэтому хороший код Matlab по-прежнему остается хорошим октавным кодом .
Есть также несколько дополнительных функций , но я никогда не находил их достаточно примечательными, чтобы помнить о них.
Я бы порекомендовал Scilab , поскольку я использовал его и обнаружил, что это достойная альтернатива MATLAB с открытым исходным кодом. Он не обладает надежностью и полировкой профессионального пакета, но, поскольку он основан на языке MATLAB, то, что вы узнаете, может быть перенесено позже, если ваши потребности изменятся, или вы обнаружите, что работаете в среде, где MATLAB является дефолт.
Цитата Ричи Коттона о переполнении стека :
Scilab относится к MATLAB так же, как OpenOffice к MS Office. То есть это не совсем клон, и он не такой отполированный. Вы получаете большую часть функциональности MATLAB, а цена намного приятнее.
Взгляните на Джулию : http://julialang.org/
Julia предназначена для числовой научной работы, в том числе интерактивной. Он имеет интерфейс ноутбука хорошего качества, доступный как Mathematica и Sage. У него лучшая в своем классе производительность, ознакомьтесь с тестами на первой странице. Он может вызывать Python, что открывает для него множество полезных библиотек.
Julia была специально разработана, чтобы упростить переход для пользователей MATLAB. Основной синтаксис аналогичен. Однако его язык программирования более современный и продвинутый, чем у MATLAB (например, он поддерживает метапрограммирование ).
Julia — относительно новая система, поэтому она не так совершенна, как другие (R, Octave), но у нее растет сообщество, и она подает большие надежды.
Если вам не нужна точная совместимость с Matlab, можно использовать Freemat.
http://freemat.sourceforge.net/
Это может быть довольно быстро, поскольку в качестве JIT-компилятора используется LLVM.
http://freemat-blog.blogspot.com/2008/02/why-jit-how-to-jit.html
Freemat имеет встроенный графический интерфейс дольше, чем Octave, хотя графический интерфейс Octave становится лучше.
Главный недостаток в том, что он не так активно развивается, как Octave; последний выпуск был в 2013 году.
https://www.openhub.net/p/_compare?project_0=FreeMat&project_1=GNU+Octave
Олли
Жиль "ТАК - перестань быть злым"
Бернхард
Бернхард
электронные суши
Бернхард
СФ.
Бернхард
электронные суши
Бернхард
СФ.
Бернхард
СФ.