相違点の完全なリストを提供するのではなく、この問題について私の見解を示します。
あなたは慎重にあなたが提供するwikiページを読めば、「Octaveは両方をサポートしてMATLABが最初に必要としながら、」のようなOctaveの開発者はオクターブ構文を作ってみることなど、このショーには、多くの場合、文章が表示されます「優れた」 MATLABのへ。
この態度はOctaveにその目的を完全に失わせます。オクターブの背後にある考え方はある(またはなってきた Mコードを実行するためのオープンソースの代替を持っているために、私は以下のコメントを参照、言うべき)を。それが「より良く」なるようにしようとすると、それは異なるようにしようとしますが、これはほとんどの人がそれを使用する理由と一致していません。私の経験では、MATLABで開発されたものを実行することは、非常に単純で本当に短いものを除いて、一度に機能することはありません-かなりのサイズの関数の場合、Octaveで機能する前に、常に多くのものを変換する必要があります最初から書き直さないでください。これがどのように良いか、私は本当にわかりません...
また、Octaveを学ぶ場合、Octaveで使用できる多くの構文があり、MATLABでは使用できません。意味-Octaveで記述されたコードは、多くの変換を行わないとMATLABで機能しないことがよくあります。逆の場合も互換性はありません!
続けることができます:MathWorksにはMATLAB用の多くのツールボックスがあり、Octaveには同等のものがないSimulinkとその関連製品があります(そうです、そのすべての費用を支払う必要があります。しかし、多くの場合、雇用主/学校はとにかくそれを行います) 、そして、少なくとも存在します)、いくつかの業界標準、テストツール、検証ツール、要件管理システム、レポート生成、はるかに大きなコミュニティとユーザーベースなどへの準拠の証明など。MATLABはほんの一部ですより大きなものの。オクターブは...ちょうどオクターブです。
だから、私のアドバイス:
- 学校がMATLABに支払うかどうかを調べます。しばしばそうします。
- そうでない場合、そしてあなたが一緒にお金をこすることができるならば、MATLABを購入して、それを適切に使用することを学んでください。長期的には、それがより良い決断です。
- 本当にお金が手に入らない場合は、Octaveを使用してください。ただし、 MATLABの構文を学び、Octaveのみの構文は避けてください。(ノートを参照してください)
なぜこの最後のポイントですか?科学では、MATLABで完全に記述された大規模なコードベースがしばしば存在するためです。教授、エンジニア、学生、プロのコーダー、MATLABの複雑で悲惨な詳細をすべて知っている人はたくさんいますが、Octaveについてはそれほど多くはありません。
新しい仕事に就いて、新しいオフィスの全員がスペイン語を話す場合、スペイン語を話せない、または好きではないという理由だけで、それ以降、すべての人に英語を話すよう要求するのはちょっとお粗末です。MATLABとOctaveでも同じです。
注意 -すべての反対投票者が自分の主張と私に反対する理由をコメントに残すことができれば、それは素晴らしいことです:)
注:Octaveは「従来のモード」で実行でき(Octaveの起動時に--traditionalフラグを含めることにより)、特定のOctaveのみの構文を使用するとエラーが発生します。