web-dev-qa-db-ja.com

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

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

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

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

20
user33831

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

GNU Octaveは、はるかに競争に勝ちます。その構文は、MATLABと非常に互換性があります。唯一の違いは、少なくとも、奇妙なツールボックスは別として、attemptでパッケージに置き換えることができます here は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、[特に指定のない限り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など)

10
BH2017

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

Qtoctave(OctaveのIDE、Sudoapt-get install qtoctaveをインストールすると、Octaveはinputdlgなどの組み込みGUIの一部を(ネイティブで)実行しません。 )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

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

2
Caustic

MATLAB = Octave 、(guiへのリンク)に最も類似
驚くべき最新の高レベル計算言語= Julia
しかし、私のお気に入りで、言語全体で最も便利なIMHO PYTHON (scipy、sage、cython .. )

1
nagordon

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

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

1
Gerhard Burger

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

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

0
Michele

これ は素敵な紙です。

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

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

0
Rahul Virpara

http://pdl.Perl.org/

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

0
gianni