OctaveとMATLABの違い [closed] 質問する

OctaveとMATLABの違い [closed] 質問する

私はプログラマーですパイソンルビーいくつかの学ぶかどうかを決めようとしている人GNU オクターブまたはマテリアライズド彼らにはたくさんのものがあることを私は知っている共通点ですが、構文やデータ構造がどの程度似ているのかはよく分かりません。上記のリンクには、構文が似ている、または同一の例がいくつか示されています。これは言語全体に当てはまるのでしょうか?

私は、おそらくいくつかの画像分析ライブラリを使用して、より科学的な計算を行うために、一般的な言語を学習しようとしています。

さらに、MATLAB はコストに見合う価値があるのでしょうか?

ベストアンサー1

相違点の完全なリストを提供するのではなく、この問題に関する私の見解を述べたいと思います。

あなたが提供した wiki ページを注意深く読むと、「Octave は両方をサポートしていますが、MATLAB では最初のものが必要です」などの文章がよく見られます。これは、Octave の開発者が Octave の構文をMATLAB よりも「優れた」ものにしようとしていることを示しています。

この姿勢は Octave の目的を完全に失わせます。Octave の背後にある考え方は (または、M コードを実行するためのオープン ソースの代替手段を持つことです下のコメントを参照してください)。Octave が「より良く」なろうとするなら、それは異なるものになろうとすることになりますが、これはほとんどの人がそれを使用する理由と一致しません。私の経験では、MATLAB で開発されたものを実行することは、非常に単純で非常に短いものを除いて、一度では決して機能しません。大規模な関数の場合、Octave で機能する前に、常に多くのものを翻訳するか、最初から書き直す必要があります。これがどのように優れているのか、私にはまったくわかりません...

また、Octave を学習すると、Octave では許可されているが MATLAB では許可されていない構文が多数あることがわかります。つまり、Octave で記述されたコードは、多くの場合、何度も変換しないと MATLAB では動作しません。その逆の場合も互換性がありません。

他にもいろいろあります。MathWorksにはMATLAB用のツールボックスが数多くあり、シミュリンクそして、Octave に同等のものは実際には存在しない関連製品 (はい、これらすべてに料金を支払う必要があります。しかし、多くの場合、雇用主/学校はとにかくそれを行いますし、少なくとも存在します)、いくつかの業界標準への準拠が証明されていること、テスト ツール、検証ツール、要件管理システム、レポート生成、はるかに大規模なコミュニティとユーザー ベースなどなど。MATLAB は、はるかに大きなもののほんの一部にすぎません。Octave は... Octave にすぎません。

だから、私のアドバイスは:

  • あなたの学校が MATLAB の費用を負担してくれるかどうか確認してください。多くの場合、負担してくれます。
  • そうでない場合、お金を工面できるなら、MATLAB を購入して、適切な使い方を学んでください。長期的には、それがより良い決断です。
  • 本当にお金がない場合は、Octave を使用してください。ただし、 MATLAB の構文を学習し、Octave 専用の構文は使用しないでください。(注を参照)

なぜこの最後の点かというと、科学分野では、MATLAB で完全に記述された大規模なコード ベースがよくあるからです。教授、エンジニア、学生、プロのプログラマーなど、MATLAB の複雑で詳細な部分はすべて知っているものの、Octave についてはあまり知らない人が大勢います。

新しい仕事に就き、新しいオフィスの全員がスペイン語を話す場合、単に自分がスペイン語を話さない/スペイン語が好きではないという理由で、全員にそれ以降は英語を話すように要求するのは、少し傲慢なことです。MATLAB と Octave についても同様です。

注: Octave は「従来モード」で実行できます (Octave の起動時に --traditional フラグを含めることにより)。これにより、特定の Octave 専用構文が使用された場合にエラーが発生します。

おすすめ記事