1. ホーム
  2. マットラボ

[解決済み】OctaveとMATLABの違い【終了しました

2022-04-01 01:41:38

質問

を知っているプログラマーです。 Python , ルビー といくつかの C を学ぶかどうかを決めようとしている人。 GNU Octave または MATLAB . をたくさん持っていることは知っています。 共通 しかし、構文やデータ構造がどの程度似ているのか、私にはよくわかりません。上のリンクでは、構文的に似ている、あるいは同一の例がいくつか紹介されています。これは言語全体に対して言えることなのでしょうか?

私はより科学的な計算をするために、この言語を一般的に学ぼうとしています。おそらく画像解析のライブラリを使おうと思っています。

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

解き方は?

相違点の完全なリストを提供するのではなく、この問題に対する私の見解をお伝えします。

あなたが提供したwikiページを注意深く読むと、"Octaveは両方をサポートし、MATLABは最初を必要とする"などの文章をよく見かけます。このことは,Octaveの開発者がOctaveの構文を "superior"です。 MATLABのそれに対して。

このような態度は、Octaveの目的を完全に失わせます。Octaveの背後にある考え方は,(あるいは になりました。 m-codeを実行するためのオープンソースの代替手段を持つこと、と言うべきでしょう。もし、それがより良いものであろうとするならば、それは次のようなものであろう。 異なる というのは、多くの人が使う理由と一致しない。私の経験では,MATLABで開発したものを一度に実行することは,本当に単純で短いものを除いて,決してうまくいきません -- 大きな関数の場合,Octaveで動作する前に必ず多くのものを翻訳しなければならず,ゼロから書き直さなければなりません。これはどのようなものかというと より良い 本当にそうでしょうか...。

また、Octaveを学ぶと、MATLABでは許されない構文がOctaveではたくさんあるんだ。つまり,Octaveで書かれたコードは,多くの変換をしないとMATLABでは動作しないことが多いのです。 その逆もまた然り。

まだまだ続きますよ。MathWorksにはMATLAB用のツールボックスがたくさんあります。 シミュリンク とその関連製品で、Octaveに相当するものは本当にありません(そう、あなたはそのすべてを支払わなければならないのです。しかし,多くの場合,雇用主や学校はいずれにせよそのようなことをしますし,まあ,少なくとも ある テストツール、検証ツール、要件管理システム、レポート作成、より大きなコミュニティとユーザーベース、などなどです。MATLABは、もっと大きなもののほんの一部に過ぎません。Octaveは...ただのOctaveです。

では、アドバイスです。

  • 学校がMATLABの費用を負担してくれるかどうか調べてください。多くの場合、そうです。
  • そうでなくても、お金をかき集めることができれば、MATLABを購入し、正しく使えるようになりましょう。長い目で見れば、その方が良い決断だと思います。
  • どうしてもお金がない場合 -- Octave を使ってください。 学ぶ MATLABの構文で,Octaveだけの構文には近づかないようにしましょう。(注)

なぜ最後のポイントなのか?なぜなら、科学分野では、完全にMATLABで書かれた大規模なコードベースが存在することが多いからです。教授、エンジニア、学生、プロのコーダーなど、MATLABの複雑な細部まで知っている人はたくさんいますが、Octaveはそれほどでもありません。

もしあなたが新しい仕事に就いたとき、新しい職場の全員がスペイン語を話すとしたら、それ以降英語を話すようにと全員に要求するのは、ちょっと生意気なんじゃないでしょうか。 あなた スペイン語が話せない/好きではない MATLABやOctaveと同じです。

<ブロッククオート

注意:Octaveはquot;traditional mode"で実行することができます(Octaveの起動時に-traditionalフラグを指定します)。