回答:
さて、あなたはあなたが言及したすべてのプログラミング言語/ソフトウェアを使用しました。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など)
あなたがリストしたすべてのものの中で、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
ベンチマークは主観的なものであることを忘れないでください。多くの変数があります。知る唯一の真の方法は、処理コードを使用してリグですべてをテストすることです。
明確にするために:なぜMatlabの代替が必要なのですか?prasadkumar013の答えは、UbuntuでMatlabを使用できないことを示唆していますが、Matlabは使用できます(少なくとも、Ubuntuで実行しています)。https://help.ubuntu.com/community/MATLABページにコミュニティドキュメントがあります。
無料の代替案をオクターブに追加したい場合、MATLABコードのほとんどはオクターブで直接動作します。私の意見では、qtoctave GUIはユーザーフレンドリーではありませんでしたが、ターミナルで作業してみてください。
PDL( "Perl Data Language")は、標準的なPerlに科学計算のパンとバターである大きなN次元データ配列をコンパクトに保存し、迅速に操作する能力を与えます。
すでにSage(www.sagemath.org)を試しましたか?さまざまな数学ソフトウェアのコンテナであり、記号計算および数値計算を実行できます。後者はnumpyとscipyを使用して行われます。非常に活発なコミュニティがあり、Pythonで書かれたオープンソースプロジェクトです。
パフォーマンスに興味があるので、ここにいくつかのベンチマークがあります(ページの最後にMatlabとの比較もあります)。
私の大学では、Windows PCでMATLABを使用しています。しかし、UbuntuでMATLABを使用する場合、2つの選択肢がありました。
私のラップトップでは仮想化が非常に重いため、別の方法を探しました。多くのソフトウェアの試用の後、ついにOCTAVEに落ち着きました。ほとんどの標準MATLABコードを実行できます。GNU Octaveの代わりに、qt Octaveを使用することをお勧めします。前者は端末ベースですが、後者はGUIベースです。私の選択はqt Octaveに行くことです
sudo apt-get install qtoctave