MATLAB'a alternatif olarak Octave, Spyder, Freemat ve Scilab'ın karşılaştırılması


20

MATLAB için bir alternatif bulmaya çalışıyorum ve şu ana kadar buldum:

  • GNU Octave
  • örümcek
  • FreeMat
  • Scilab

MATLAB'a hangisinin en iyi alternatif olduğunu bulmaya çalışıyorum. Özellikle performans ve sonuçların bütünlüğü ile ilgileniyorum.


1
Ayrıca R'yi de düşünmelisiniz . StackOverflow hakkındaki bu soru muhtemelen en iyi karşılaştırmaya sahip
Oli

IPython eksik
zetah

Yanıtlar:


10

Bir muamele için buradasın. Bahsettiğin tüm programlama dillerini / yazılımlarını kullandım. FreeMat ve Spyder Çok fazla tecrübem yok ama biraz var. Yaşadığım diğerleri.

GNU Octave , pancarın rekabetine uzaktı. Sözdizimi MATLAB ile aşırı derecede uyumludur . Tek fark, sana yapabilirsiniz garip araç kutusu, bir yana, en azından farkındayım girişimi paketleri tarafından yerine burada GNU Octave komut satırından fonksiyonlar tespit olmasıdır.

QtOctave’ın farkında olup olmadığınızı bilmiyorum . QtOctave, GNU Octave programlama dili için bir ön uçtur (GUI). QtOctave da bir editör ile birlikte geliyor.

Scilab da MATLAB için yeterli bir alternatiftir. Sözdizimi açısından bazı farklılıkları vardır, ancak birlikte gelen belgelerde arama yaparsanız kafanızı bulamazsınız.

FreeMat en kötüsü, bence en azından sözdizimi büyük ölçüde MATLAB'a dayanan yazılımdır. Bununla ilgili kanıtlarım üç bölüm: ilk olarak, yazılım merkezinde söz konusu dört yazılımın en düşük yıldız derecesini aldı. İkincisi, sık sık güncellenmez, yazılım merkezindeki en son sürüm, en son 2008 güncellendi. İkinci kanıtımın bir sonucu olarak, işlevleri biraz gecikti. Bununla birlikte, artı tarafı, sözdiziminin MATLAB'lerle oldukça uyumlu olmasıdır.

Spyder'ı kullandım ama sadece kısaca korkuyorum. En kaliteli görünüyor. Bununla ilgili sorun, MATLAB ile sadece sınırlı bir uyumluluğa sahip olmasıdır. Python programlama dilinden bazılarını öğrenmenizi gerektirir, yani eğer iyi yapmayı planlıyorsanız.

Ben de tavsiye ederim SageMath GNU Octave içerir olarak (onun zaten sisteminizde yüklüyse) aksi Sage ile gelen Belirttiğiniz ve bu nedenle kurulum gerekli olmadıkça (zaten varsa yüklü), Numpy, [Numpy ve söz kalanını scilab ] Scipy, Matplotlib, maxima, diğerleri arasında fortran. SageMath, http://www.sagemath.org/download-linux.html web sitesine gidip , bulunduğunuz yere göre uygun bir ayna seçip ilgili .tar.lzma dosyasını yükleyerek indirilebilir. Bu kopyadan sonra aşağıdaki komutları terminale yapıştırın (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', işletim sisteminizin bitlerini ifade eder; 'y', adaçayı için tasarlanan Ubuntu versiyonunu ifade eder (örneğin 10.04_lts; 12.04_lts (_lts 'y' için gereklidir) vs.); 'z', işletim sisteminizin mimarisini ifade eder. (i386, amd64 vb.)


2

Octave'ı listelediklerinizden en uyumlu olanı sözdizimidir. Aslında, pahalı Matlab araç kutularından bazılarının dışında, Octave kodunuzun% 98'ini (yeni oluşturduğum bir sayı) çalıştırmalıdır. Matlab'ı işte, Octave'ı evde kullanıyorum.

Octave inputdlg etc gibi yerleşik GUI'lerin bazılarını (yerel olarak) çalıştırmaz, eğer Qtoctave (Octave için bir IDE, sudo apt-get install qtoctave'i yüklerseniz ) yüklerseniz , bu işlevi elde etmek için xmlwidget ve bir sarmalayıcı kullanabilirsiniz (eğer ilgilisin).

Performans söz konusu olduğunda, Octave o kadar hızlı değildir (kıyaslamalar için google). Bununla birlikte, Matlab'ın tüm modern sürümlerini Linux'ta çalıştırabilirsiniz (bir lisansınız varsa) ve şimdi varsayılan olarak yükleme diskine dahil edilirler ve Matlab'ın Linux sürümünün performansı, Linux'ta karşılaştırıldığında, Linux'taki kadar iyi ve genellikle daha iyidir pencereler.

Eğer performans istiyorsanız ve scipy'e bakmak için en iyi ücretsiz yazılımı kullanmayacaksınız. Ancak sözdizimi daha az uyumludur. Kodunuzu tekrar yazmanız gerekecek. Spyder python ve scipy kullanan bir ide, scilab oktav ve maxima püresi ve diğerleri. Masonun performansı hakkında emin değilim ama bunun Octave kadar gelişmiş olduğunu sanmıyorum.

İyi şanslar.

Birkaç kriter

hız

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

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

Unutmayın ki kıyaslamalar özneldir. Çok fazla değişken var. Bilmenin tek gerçek yolu, işlem kodunuzu kullanarak hepsini teçhizatınızda test etmektir.


Birisi google'a girerse ve Octave vs. Matlab için iyi referanslar bulursa, belki de daha ayrıntılı bilgi ya da linkler bu cevapta düzenlenebilir.
Eliah Kagan

1

Sadece açıklama için: Neden Matlab için bir alternatif istiyorsunuz? Prasadkumar013'ün cevabı, Ubuntu'da Matlab kullanamayacağınızı gösteriyor, ama siz (en azından Ubuntu'da çalıştırıyorum;). Https://help.ubuntu.com/community/MATLAB sayfasında bir topluluk belgesi var .

Ücretsiz bir alternatif oktavla gitmek istemeniz durumunda, matlab kodunun çoğu doğrudan oktavla çalışacaktır. Ancak terminalde çalışmaya çalışın, qtoctave GUI bence kullanıcı dostu değildi.


1

MATLAB'a en çok benzeyen = Octave , (gui'ye bağlanır)
Müthiş bir gelecek vaat eden üst düzey bir hesaplama dili = julia
Ama en sevdiğim ve IMHO tüm dilde çok faydalı, PYTHON (scipy, adaçayı, cython ...)


0

http://pdl.perl.org/

PDL ("Perl Data Language") standart Perl'e bilimsel hesaplamaların tereyağ ve tereyağı olan büyük N boyutlu veri dizilerini kompakt bir şekilde saklama ve hızlı bir şekilde işleme yeteneği sağlar.


0

Sage'i zaten denediniz mi ( www.sagemath.org )? Farklı matematik yazılımı için bir kapsayıcıdır ve sembolik ve sayısal hesaplamalar yapabilir. Sonuncular numpy ve scipy kullanılarak yapılır. Çok aktif bir toplumu var ve python ile yazılmış açık kaynak kodlu bir proje.

Performanslarla ilgilendiğiniz için, burada bazı kriterler var (sayfanın sonunda da Matlab ile olan karşılaştırmalar).


0

Bu güzel bir kağıt.

Kısa bir açıklama ve çeşitli testler yapıldı.

BTW MATLAB veya benzeri bir şey kullanmıyorum.


-1

Gerçek bir karşılaştırma yapmadım, ancak deneyimlerime göre tamamen performans gösterimi oluşturuyor, oktav MATLAB'dan daha iyi.

Her şey görecelidir, farklı araç kutularının farklı performansları olduğunu not etmelisiniz.

Makinenizde sınırlı bir RAM varsa, her şeyin MATLAB'dan daha iyi sonuç vereceğini söyleyebilirim.


-2

Üniversitem, Windows PC'lerinde MATLAB kullanıyor. Ama Ubuntu'da MATLAB kullandığım için iki seçeneğim kalmıştı

  1. MATLAB'ı şarap üzerine veya herhangi bir sanallaştırma yazılımı üzerine kurun
  2. Bir Linux Eşdeğeri Bulun

Dizüstü bilgisayarımda sanallaştırma çok ağır olduğu için bir alternatif aradım. Birçok yazılım denemesinden sonra, nihayet OCTAVE için karar kıldım. Standart MATLAB kodlarının çoğunu çalıştırabilir. GNU Octave yerine, qt Octave için gitmek daha iyidir. Eski terminal tabanlı iken, daha sonra GUI tabanlıdır. Benim seçimim qt Octave’a gitmek.

sudo apt-get install qtoctave


4
Üçüncü bir seçenek ise Matlab'ın Linux versiyonunu kurmak olacaktır .
Eliah Kagan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.