Perbandingan Octave, Spyder, Freemat dan Scilab sebagai alternatif untuk MATLAB


20

Saya mencoba mencari alternatif untuk MATLAB dan sejauh ini telah menemukan:

  • GNU Octave
  • laba laba
  • FreeMat
  • Scilab

Saya mencoba mencari yang merupakan alternatif terbaik untuk MATLAB. Saya sangat peduli dengan kinerja dan integritas hasil.


1
Anda juga harus mempertimbangkan R. Pertanyaan tentang StackOverflow ini mungkin memiliki perbandingan terbaik
Oli

IPython tidak ada
zetah

Jawaban:


10

Yah Anda berada dalam untuk mengobati Saya telah menggunakan semua bahasa pemrograman / perangkat lunak yang Anda sebutkan. FreeMat dan Spyder Saya tidak punya terlalu banyak pengalaman dengan tetapi saya punya beberapa. Yang lain yang saya alami.

GNU Octave sejauh ini mengalahkan kompetisi. Sintaksnya memiliki kompatibilitas ekstrim dengan MATLAB . Satu-satunya perbedaan, saya menyadari setidaknya, selain dari kotak alat aneh, yang dapat Anda coba ganti dengan paket-paket di sini adalah bahwa GNU Octave dapat mendefinisikan fungsi dari baris perintah.

Saya tidak tahu apakah Anda mengetahui QtOctave . QtOctave adalah frontend (GUI) untuk bahasa pemrograman GNU Octave. QtOctave juga dilengkapi dengan editor.

Scilab juga merupakan pengganti MATLAB yang memadai. Ini memiliki beberapa perbedaan dalam hal sintaksis tetapi tidak ada yang tidak bisa Anda dapatkan jika Anda mencari dokumentasi yang menyertainya.

FreeMat adalah yang terburuk, menurut saya setidaknya, dari perangkat lunak yang sintaksinya sangat didasarkan pada MATLAB. Bukti saya untuk ini adalah tiga bagian: pertama, di pusat perangkat lunak itu menerima peringkat bintang terendah dari empat perangkat lunak yang bersangkutan. Kedua, ini tidak sering diperbarui, versi terbaru di pusat perangkat lunak, terakhir diperbarui 2008. Ketiga sebagai hasil bukti kedua saya, fungsinya agak tertinggal. Sisi positifnya, bagaimanapun, adalah bahwa sintaksinya sangat kompatibel dengan MATLAB.

Saya telah menggunakan Spyder , tetapi hanya sebentar saya takut. Tampaknya berkualitas tinggi. Masalahnya adalah kompatibilitasnya hanya terbatas dengan MATLAB, berdasarkan sintaksis. Ini mengharuskan Anda untuk belajar beberapa bahasa pemrograman Python, yaitu, jika Anda berencana untuk melakukannya dengan baik.

Saya juga akan merekomendasikan SageMath karena termasuk GNU Octave, (jika sudah terinstal di sistem Anda) Scilab, (jika Anda sudah menginstalnya) Numpy, [Numpy dan sisanya disebutkan kecuali ditentukan lain datang dengan Sage dan oleh karena itu tidak diperlukan instalasi ] Scipy, Matplotlib, maxima, fortran di antara banyak lainnya. SageMath dapat diunduh dengan mengunjungi situs web http://www.sagemath.org/download-linux.html dan memilih mirror yang sesuai, berdasarkan di mana Anda berada dan kemudian menginstal file .tar.lzma yang relevan. Setelah ini salin dan tempel perintah berikut ke terminal (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

Di mana 'x' mengacu pada bit OS Anda; 'y' merujuk ke versi Ubuntu yang dirancang oleh sage (mis. 10.04_lts; 12.04_lts (_lts diperlukan dalam 'y'), dll.); 'z' mengacu pada arsitektur OS Anda. (i386, amd64, dll.)


2

Dari semua yang Anda daftarkan Octave adalah sintaksis yang paling kompatibel. Bahkan, terlepas dari beberapa kotak peralatan Matlab yang mahal, Oktaf seharusnya menjalankan 98% (angka yang baru saja saya buat) dari kode Anda. Saya menggunakan Matlab di tempat kerja dan Oktaf di rumah.

Octave tidak akan menjalankan (secara native) beberapa GUI inbuilt seperti inputdlg dll, jika Anda menginstal Qtoctave (sebuah IDE untuk Oktaf, sudo apt-get install qtoctave ) Anda dapat menggunakan xmlwidget dan pembungkus untuk mendapatkan fungsionalitas tersebut (saya dapat memposting kode jika anda tertarik).

Sejauh menyangkut kinerja, Oktaf tidak secepat (google for benchmark). Namun, Anda bisa mendapatkan semua versi modern Matlab berjalan di Linux (jika Anda memiliki lisensi) dan mereka disertakan pada disk instalasi secara default sekarang, dan kinerja versi Linux Matlab sama bagus dan sering lebih baik di Linux jika dibandingkan dengan Windows.

Jika Anda ingin kinerja dan Anda tidak ingin menggunakan perangkat lunak gratis terbaik untuk melihat scipy. Tetapi sintaksisnya kurang kompatibel. Anda harus menulis ulang kode Anda. Spyder adalah ide yang menggunakan python dan scipy, scilab adalah tumbukan oktaf dan maxima dan beberapa lainnya. Tidak yakin tentang kinerja freemat tapi saya tidak berpikir itu dikembangkan sebagai oktaf.

Semoga berhasil.

Beberapa tolok ukur

kecepatan

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

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

Ingatlah bahwa tolok ukur bersifat subyektif. Ada banyak variabel. Satu-satunya cara yang benar untuk mengetahuinya adalah dengan menguji semuanya di rig Anda menggunakan kode pemrosesan Anda.


Jika seseorang menggunakan google dan menemukan tolok ukur yang bagus untuk Oktaf vs Matlab, mungkin informasi atau tautan yang lebih rinci dapat diedit ke dalam jawaban ini.
Eliah Kagan

1

Hanya untuk klarifikasi: Mengapa Anda menginginkan alternatif untuk Matlab? Jawaban dari prasadkumar013 menyarankan Anda tidak dapat menggunakan Matlab di Ubuntu, tetapi Anda bisa (setidaknya saya menjalankannya di Ubuntu;)). Ada dokumentasi komunitas di halaman https://help.ubuntu.com/community/MATLAB .

Jika Anda menginginkan alternatif gratis dengan oktaf, sebagian besar kode matlab akan bekerja langsung dalam oktaf. Cobalah untuk bekerja di terminal, GUI qtoctave tidak begitu ramah pengguna menurut saya.


1

Paling mirip dengan MATLAB = Oktaf , (tautan ke gui)
Bahasa komputasi tingkat tinggi yang sedang naik dan datang = julia
Tapi favorit dan IMHO saya paling berguna di seluruh bahasa, PYTHON (lihai, bijak, bijak, cython ...)


0

http://pdl.perl.org/

PDL ("Perl Data Language") memberikan Perl standar kemampuan untuk secara kompak menyimpan dan cepat memanipulasi array data N-dimensi besar yang merupakan roti dan mentega dari komputasi ilmiah.


0

Sudahkah Anda mencoba Sage ( www.sagemath.org )? Ini adalah wadah untuk berbagai perangkat lunak matematika dan dapat melakukan perhitungan simbolik dan numerik. Yang terakhir dilakukan dengan menggunakan numpy dan scipy. Ini memiliki komunitas yang sangat aktif dan ini adalah proyek open source yang ditulis dengan python.

Karena Anda tertarik dengan pertunjukan, berikut adalah beberapa tolok ukur (di akhir halaman juga perbandingan dengan Matlab).


0

Ini kertas yang bagus.

Ini memiliki penjelasan singkat dan berbagai tes dilakukan.

BTW Saya tidak menggunakan MATLAB atau semacamnya.


-1

Saya belum melakukan perbandingan nyata tetapi dalam pengalaman saya murni membentuk oktaf perspektif kinerja lebih baik daripada MATLAB.

Anda harus mencatat bahwa "semuanya relatif" kotak alat yang berbeda memiliki kinerja yang berbeda.

Jika Anda memiliki RAM terbatas pada mesin Anda, saya akan mengatakan apa pun akan bekerja lebih baik daripada MATLAB.


-2

Kuliah saya menggunakan MATLAB pada PC Windows mereka. Tetapi untuk menggunakan MATLAB di Ubuntu saya dibiarkan dengan dua pilihan

  1. Instal MATLAB melalui anggur atau perangkat lunak virtualisasi apa pun
  2. Temukan Linux Equivallent

Karena virtualisasi sangat berat pada laptop saya, saya mencari alternatif. Setelah banyak uji coba perangkat lunak, saya akhirnya memilih OCTAVE. Itu dapat menjalankan sebagian besar kode MATLAB standar. Daripada GNU Octave, lebih baik menggunakan qt Octave. Sementara yang pertama adalah berbasis terminal, yang berikutnya adalah berbasis GUI. Pilihan saya adalah memilih qt Octave

sudo apt-get install qtoctave


4
Pilihan ketiga adalah menginstal Matlab versi Linux .
Eliah Kagan
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.