8

(宿題)にいくつかのアルゴリズムを実装する必要がありますが、代わりMATLABに使用したいと思います。しかし、拡張機能をすべてオフにして、基本的に の FOSS バージョンにGNU Octave変えたいと思います。どの設定を変更すればよいですか? プログラムを実行するときに、どのコマンド ライン オプションを指定する必要がありますか?octaveMATLABoctave

PS: コマンドライン オプションについては知っ--traditionalていますが、あまり効果がないようです。

PPS: どんな提案でも大歓迎です。たとえば、octaveソースからの再構築など、アドバイスに従う必要がある場合は、そのままにしてください。

4

2 に答える 2

7

オプションを使用する以外--traditionalにできることはありません。Octave が提供する余分な構文を使用しないでください。結局のところ、Matlab 構文は GNU Octave 言語のサブセットであり、そのサブセットのみを使用するかどうかはユーザー次第です。

編集:それはあなたが望む答えではありませんが、それが不可能なタスクである十分な理由があります(不可能とは、非常に難しいことを意味します。唯一のオプションは、実際には Octave をフォークして、完全なクローンになるまで変更することです。そして、あなたはやりたくありません、信じてください)。次のまさにその例を想像してみてください。Octave には関数 'rows' と 'columns' がありますが、Matlab にはありません。これらの関数が存在しないように Octave を変更した場合、それらを使用する他のすべての Octave 関数 (多くのことを推測しています) も動作しなくなります。

ただし、Octave で書かれた宿題を受け入れるように教授を説得する前に、少なくとも互換性のあるコードを書くようにしてください。

EDIT 2:この状況をピアノと比較して説明しようと思います (非常に良い比較のようです)。85鍵または88鍵のピアノを購入できます。ここで、Matlab が 85 鍵のピアノであり、Octave が 88 鍵のピアノであると想像してください (必要に応じて、Matlab には 3 つのペダルがあり、Octave には 2 つのペダルしかないことも想像してください)。2 つのピアノの唯一の違いは、一方のピアノの方がわずかに広い音域を持っていることです。つまり、(3 つの余分なキーから) より多くのトーンを演奏できます。しかし、85 鍵のピアノで C4 を弾くと、88 鍵のピアノで C4 を弾くと、音は同じで、同じ音になります。メモは、使用可能な機能とキーワードです。それらは同じです。一方のピアノの音は、もう一方のピアノの音と同じです。

さて、あなたが音楽を書いている作曲家であれば、それを考慮に入れたいと思うかもしれません。それらの余分なキーを必要とする曲を書かないでください。どちらのタイプのピアノでも音楽は同じです。88 鍵のピアノをお持ちの場合、85 鍵のピアノと互換性を持たせたいので、余分な 3 つの鍵を切り取ることはありません。あなたは単にそれらのキーを演奏しません。Octave が Matlab と互換性があるのと同じように、88 鍵のピアノは 85 鍵のピアノと互換性があります。

これらの余分なキーを使用できないことを思い出させるガイドが必要な場合は、それらを使用しないように注意するためにそれらに赤いテープを貼ることができると思います. 同様に、Octave と Matlab の構文が異なるテキスト エディターで Octave を使用すると、Matlab の一部ではない構文を使用すると正しく強調表示されません。それを除けば、あなたにできることは何もありません (Octave プロジェクトのフォークを数えない限り、Mathworks にそれらを Matlab に実装するように依頼するか、自分で実装するように依頼してください。これは失礼な皮肉という意味ではなく、すべてを網羅しようとしているだけです)。

完成させるために、はい、Octave はまだすべての Matlab のものを実装していませんが、人々が開発するにつれてそのように動いています。これは静的プロジェクトではありません (たとえば、開発ブランチのNEWSファイルを見てください)。物事は、それを必要とする人々が開発するにつれて実装されます。一部の機能は動作が異なりますが、それらは報告できるバグです(無料でオープン ソースであるため、修正することもできます)。このような非互換性は、ユーザーを煩わせるためのものではありません。誰もそれらを報告または修正していないため、それらは存在します。さらに、それらのほとんどは、正しくない、または文書化されていない Matlab 機能用です。

編集 3: matlab の互換性のない警告をオンにすることもできます (デフォルトではオフになっています)。実行しますwarning ('on', 'Octave:matlab-incompatible')。これをファイルに残すことができ.octavercます。より多くの警告を確認するには、 を調べてくださいwarning_ids

于 2012-08-26T01:13:55.527 に答える
2

あなたのためにそれを行うGUIを使用する方が良いと思います。 Xoctaveのサポートと Matlab のようなインターフェイスのため、私は個人的にXoctaveを使用しています。

于 2012-11-01T16:04:08.833 に答える