MATLABの代替としてのOctave、Spyder、Freemat、Scilabの比較


20

私はMATLABの代替を見つけようとしていますが、これまでのところ見つけました:

  • GNUオクターブ
  • スパイダー
  • FreeMat
  • サイラブ

私はどちらがMATLABの最良の選択肢であるかを見つけようとしています。特にパフォーマンスと結果の整合性に関心があります。


1
またR.検討すべきであるStackOverflowの上、この質問はおそらく最高の比較を持っている
オリ

IPythonがありません
ゼータ

回答:


10

さて、あなたはあなたが言及したすべてのプログラミング言語/ソフトウェアを使用しました。FreeMatとSpyder私はあまり経験がありませんが、いくつかあります。私が経験している他の人。

GNU Octaveは、競合他社を圧倒します。その構文は、MATLABの構文と非常に互換性があります。少なくとも、ここでパッケージに置き換えようとする奇妙なツールボックスを除いて、GNU Octaveがコマンドラインから関数を定義できることだけは知っています。

QtOctaveを知っているかどうかはわかりません。QtOctaveは、GNU Octaveプログラミング言語のフロントエンド(GUI)です。QtOctaveにはエディターも付属しています。

ScilabはMATLABの適切な代替品でもあります。構文の面でいくつかの違いがありますが、付属のドキュメントを検索しても頭を悩ませることはできません。

FreeMatは、少なくとも私の意見では、構文がMATLABに大きく基づいているソフトウェアの中で最悪です。これに関する私の証拠は3つの部分です。まず、ソフトウェアセンターで、問題の4つのソフトウェアの最低星評価を受けます。第二に、頻繁に更新されない、ソフトウェアセンターの最新バージョンは、2008年に最後に更新されました。第三に、2番目の証拠の結果、その機能がやや遅れています。ただし、プラス面は、その構文がMATLABと高度に互換性があることです。

私はSpyderを使用しましたが、ほんの少しだけ怖いです。最高品質のようです。問題は、構文上、MATLABとの互換性限られていることです。Pythonプログラミング言語のいくつかを学ぶ必要があります。つまり、上手くやろうと思っているなら。

また、SageMathにはGNU Octave(システムに既にインストールされている場合)、Scilab、(すでにインストールされている場合)、Numpy、[Numpy、および特に明記されていない限り、Sageが付属しているためインストールは不要です。 ] Scipy、Matplotlib、maxima、fortranなど。SageMathは、Webサイト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」はOSのビットを指します。「y」は、セージが設計されているUbuntuのバージョンを指します(例:10.04_lts; 12.04_lts(「y」には_ltsが必要です)など)。「z」は、OSのアーキテクチャを指します。(i386、amd64など)


2

あなたがリストしたすべてのものの中で、Octaveは最も構文互換性があります。実際、高価なMatlabツールボックスのいくつかは別として、Octaveはコードの98%(私が作成した数)を実行する必要があります。私は職場でMatlabを、自宅でOctaveを使用しています。

Octaveはinputdlgなどの組み込みGUIの一部を(ネイティブでは)実行しません。Qtoctave(Octave用のIDE、sudo apt-get install qtoctave)をインストールすると、xmlwidgetとラッパーを使用してその機能を取得できます(コードを投稿できますあなたが興味を持っています)。

パフォーマンスに関する限り、Octaveはそれほど高速ではありません(ベンチマーク用のGoogle)。ただし、Matlabの最新バージョンをすべてLinux上で実行でき(ライセンスがある場合)、それらはデフォルトでインストールディスクに含まれています。LinuxバージョンのMatlabは、 Windows。

パフォーマンスが必要で、scipyを見るのに最適なフリーソフトウェアを使用したくない場合。ただし、構文の互換性は低くなります。コードを書き直す必要があります。Spyderはpythonとscipyを使用するideであり、scilabはオクターブとマキシマ、その他いくつかのマッシュです。freematのパフォーマンスについてはわかりませんが、Octaveほど開発されているとは思いません。

がんばろう。

いくつかのベンチマーク

速度

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

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

ベンチマークは主観的なものであることを忘れないでください。多くの変数があります。知る唯一の真の方法は、処理コードを使用してリグですべてをテストすることです。


誰かがグーグルでOctave vs. Matlabの優れたベンチマークを見つけたら、おそらくより詳細な情報やリンクをこの答えに編集することができます。
エリアケイガン

1

明確にするために:なぜMatlabの代替が必要なのですか?prasadkumar013の答えは、UbuntuでMatlabを使用できないことを示唆していますが、Matlabは使用できます(少なくとも、Ubuntuで実行しています)。https://help.ubuntu.com/community/MATLABページにコミュニティドキュメントがあります

無料の代替案をオクターブに追加したい場合、MATLABコードのほとんどはオクターブで直接動作します。私の意見では、qtoctave GUIはユーザーフレンドリーではありませんでしたが、ターミナルで作業してみてください。


1

MATLAB =に最も類似オクターブ、(GUIへのリンク)
素晴らしい新進気鋭の高レベルの計算言語= ジュリア
しかし、私の最も有用なの好きなとIMHO、すべての周りの言語、PYTHON(scipyのダウンロード、セージ、cython ...)


0

http://pdl.perl.org/

PDL( "Perl Data Language")は、標準的なPerlに科学計算のパンとバターであ​​る大きなN次元データ配列をコンパクトに保存し、迅速に操作する能力を与えます。


0

すでにSage(www.sagemath.org)を試しましたか?さまざまな数学ソフトウェアのコンテナであり、記号計算および数値計算を実行できます。後者はnumpyとscipyを使用して行われます。非常に活発なコミュニティがあり、Pythonで書かれたオープンソースプロジェクトです。

パフォーマンスに興味があるので、ここにいくつかのベンチマークがあります(ページの最後にMatlabとの比較もあります)。


0

これはいい紙です。

簡単な説明とさまざまなテストが行​​われています。

ところで私はMATLABまたはそのような何かを使用していません。


-1

私は実際の比較を行っていませんが、私の経験では純粋にパフォーマンスの観点からオクターブはMATLABよりも優れています。

「すべてが相対的」なツールボックスはパフォーマンスが異なることに注意してください。

マシンのRAMが限られている場合、MATLABよりも優れた機能を発揮します。


-2

私の大学では、Windows PCでMATLABを使用しています。しかし、UbuntuでMATLABを使用する場合、2つの選択肢がありました。

  1. wineまたは任意の仮想化ソフトウェア上にMATLABをインストールします
  2. Linux Equivallentを見つける

私のラップトップでは仮想化が非常に重いため、別の方法を探しました。多くのソフトウェアの試用の後、ついにOCTAVEに落ち着きました。ほとんどの標準MATLABコードを実行できます。GNU Octaveの代わりに、qt Octaveを使用することをお勧めします。前者は端末ベースですが、後者はGUIベースです。私の選択はqt Octaveに行くことです

sudo apt-get install qtoctave


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.