Порівняння Octave, Spyder, Freemat та Scilab як альтернативи MATLAB


20

Я намагаюся знайти альтернативу для MATLAB і поки що знайшов:

  • Октава ГНУ
  • Шпидер
  • FreeMat
  • Scilab

Я намагаюся знайти, яка найкраща альтернатива MATLAB. Я особливо переймаюся ефективністю та цілісністю результатів.


1
Ви також повинні врахувати R. Це питання на StackOverflow, мабуть, найкраще порівняти
Oli

IPython відсутній
zetah

Відповіді:


10

Добре, що ви шукаєте частування, я використав усі мови програмування / програмне забезпечення, яке ви згадали. FreeMat та Spyder Я не маю занадто багато досвіду, але у мене є. Інші, в яких я досвідчений.

GNU Octave далеко не є конкуренцією. Його синтаксис має надзвичайну сумісність із MATLAB . Єдині відмінності, які я знаю, щонайменше, окрім чудернацької панелі інструментів, яку ви можете спробувати замінити тут пакетами, - це те, що GNU Octave може визначати функції з командного рядка.

Я не знаю, чи знаєте ви QtOctave . QtOctave - це інтерфейс (GUI) для мови програмування GNU Octave. QtOctave поставляється і з редактором.

Scilab також є адекватною заміною для MATLAB. Він має деякі відмінності щодо синтаксису, але нічого, чого ви не зможете обробити, якщо шукати документацію, що додається до нього.

FreeMat - це найгірше, на мою думку, програмне забезпечення, яке синтаксисно базується на MATLAB. Мої докази цього - це три частини: по-перше, в програмному центрі він отримує найнижчу оцінку зірок серед чотирьох розглянутих програм. По-друге, вона не часто оновлюється, остання версія в програмному центрі востаннє оновлювалася в 2008 році. По-третє, в результаті мого другого доказу його функції дещо відстають. Плюсом, однак, є те, що його синтаксис є дуже сумісним із MATLAB.

Я використовував Spyder , але лише коротко боюся. Здається, високої якості. Проблема в ньому полягає в тому, що він має лише обмежену сумісність з MATLAB, синтаксисом. Це вимагає від вас вивчити частину мови програмування Python, тобто якщо ви плануєте в цьому добре.

Я також рекомендував би SageMath, оскільки він включає GNU Octave, (якщо він уже встановлений у вашій системі) Scilab, (якщо він у вас уже встановлений) ] Scipy, Matplotlib, maxima, fortran серед багатьох інших. SageMath можна завантажити, перейшовши на веб-сайт http://www.sagemath.org/download-linux.html та вибравши відповідне дзеркало, виходячи з того, де ви знаходитесь, а потім встановіть відповідний файл .tar.lzma. Після цього скопіюйте та вставте наступні команди в термінал (ctrl + alt + T):

cd ~/Downloads
sudo mv sage-linux-xbit-ubuntu_y-z-Linux.tar.lzma /home/username
cd ~
tar --lzma -xvf sage-linux-xbit-ubuntu_y-z-Linux.tar.lzma
cd ~/sage-linux-xbit-ubuntu_y-z-Linux
make
sudo ln -s /home/username/sage-linux-xbit-ubuntu_y-z-Linux/sage /usr/local/bin/sage

Де 'x' позначає біти вашої ОС; 'y' посилається на версію Ubuntu, для якої призначений мудрець (наприклад, 10.04_lts; 12.04_lts (_lts потрібно в 'y') тощо); 'z' посилається на архітектуру вашої ОС. (i386, amd64 тощо)


2

З усіх перерахованих вами Octave є найбільш сумісним із синтаксисом. Насправді, окрім деяких дорогих наборів інструментів Matlab, Octave повинен використовувати 98% (число, яке я тільки що склав) вашого коду. Я використовую Matlab на роботі та Octave вдома.

Octave не запустить (споконвічно) деякі вбудовані графічні інтерфейси, такі як inputdlg тощо. Якщо ви встановите Qtoctave (IDE для Octave, sudo apt-get install qtoctave ), ви можете використовувати xmlwidget та обгортку, щоб отримати цю функціональність (я можу розмістити код, якщо вас цікавить).

Що стосується продуктивності, Octave не такий швидкий (google для орієнтирів). Однак ви можете отримати всі сучасні версії Matlab, що працюють на Linux (якщо у вас є ліцензія), і вони включені на диск встановлення за замовчуванням, а продуктивність Linux версії Matlab настільки ж хороша і часто краща в Linux порівняно з Windows.

Якщо ви хочете продуктивність, і ви не хочете використовувати вільне програмне забезпечення, найкраще подивитись на scipy. Але синтаксис менш сумісний. Вам потрібно буде переписати код. Spyder - це ідея, яка використовує пітон та спійпі, scilab - це затирання октави та максимумів та декілька інших. Не впевнений у продуктивності фрімату, але я не думаю, що він настільки розвинений, як Octave.

Удачі.

Кілька орієнтирів

швидкість

http://www.osc.edu/research/cse/projects/octave_python.pdf

http://www.wseas.us/e-library/conferences/2010/Corfu/COMPUTERS/COMPUTERS2-56.pdf

Пам'ятайте, орієнтири є суб'єктивними. Існує багато змінних. Єдиний вірний спосіб це знати - протестувати їх на вашій установці, використовуючи код обробки.


Якщо хтось працює в Google і знайде хороші орієнтири для Octave проти Matlab, можливо, більш детальну інформацію або посилання можна змінити у цій відповіді.
Елія Каган

1

Тільки для уточнення: Чому ви хочете альтернативи Matlab? Відповідь prasadkumar013 передбачає, що ви не можете використовувати Matlab в Ubuntu, але ви можете (принаймні, я запускаю його на Ubuntu;)). На сторінці https://help.ubuntu.com/community/MATLAB є документація спільноти .

Якщо ви хочете отримати безкоштовну альтернативу, перейдіть з октавою, більшість кодів matlab буде працювати безпосередньо в октаві. Спробуйте працювати в терміналі, проте, на мою думку, інтерфейс qtoctave GUI був не таким зручним для користувачів.


1

Найбільш схожий на MATLAB = Octave , (посилання на gui) Дивовижна
мова для обчислень на високому рівні або наближається = Джулія.
Але мій улюблений і IMHO найкорисніший з усіх мов, PYTHON (scipy, мудрець, цитон ...)


0

http://pdl.perl.org/

PDL ("Мова даних Perl") дає стандартній Perl можливість компактно зберігати та швидко маніпулювати великими N-мірними масивами даних, які є хлібом та маслом наукових обчислень.


0

Ви вже пробували Sage ( www.sagemath.org )? Це контейнер для різних програм з математики, і він може робити символічні та числові обчислення. Останні робляться за допомогою нумеру та сапі. Він має дуже активне співтовариство і це проект з відкритим кодом, написаний на python.

Оскільки вас цікавлять виступи, тут є деякі орієнтири (в кінці сторінки також порівняння з Matlab).


0

Це гарна папір.

У ньому є короткі пояснення та зроблені різні тести.

До речі, я не використовую MATLAB або щось подібне.


-1

Я не зробив реального порівняння, але, на мій досвід, суто форма октави продуктивності краща, ніж MATLAB.

Слід зазначити, що "це все відносно" різні набори інструментів мають різну продуктивність.

Якщо у вас обмежена оперативна пам'ять на вашій машині, я б сказав, що все працювало б краще, ніж MATLAB.


-2

Мій коледж використовує MATLAB на своїх ПК з Windows. Але для використання MATLAB в Ubuntu у мене залишилися два варіанти

  1. Встановіть MATLAB над вином або будь-яким програмним забезпеченням для віртуалізації
  2. Знайдіть еквівалент Linux

Оскільки віртуалізація на моєму ноутбуці дуже важка, я шукав альтернативу. Після багатьох випробувань програмного забезпечення я нарешті влаштувався на OCTAVE. Він може запускати більшість стандартних кодів MATLAB. Замість GNU Octave, краще піти на qt Octave. Хоча перший заснований на терміналі, пізніший - на GUI. Мій вибір - поїхати на qt Octave

sudo apt-get install qtoctave


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.