4

重複の可能性:
MATLAB または Octave を実行しているかどうかを検出するにはどうすればよいですか?

私のコードは MATLAB を使用して設計されており、今でも使用しています。ただし、Octave を使用してその一部を実行しようとすると、エラーが発生します。たとえば、MATLAB コードはpause onOctave が使用しないものを使用します。

コードを使用しているプログラミング環境を確認する方法はありますか? 例えば、

if  invoking_env == 'Matlab'
    % do this
else 
    % ok, so do this
end

使用できますgetenv('COMPUTERNAME')が、この場合、コンピューター名は同じです! ありがとう。

4

2 に答える 2

6

MATLABOctaveの両方にバージョン関数があります。それらは異なる値を返し、MATLAB のバージョンには、Octave には存在しないいくつかの引数があります。それが役立つことを願っています。

于 2012-12-20T21:12:46.837 に答える
0

これをチェックするサブ関数を用意するのが最善の方法だと思います。次のスニペットは、おそらくシステムから最低限必要なものです。また、永続変数を使用すると、パフォーマンスに大きな影響を与えることなく繰り返し呼び出すことができます。

function r = isoctave ()
  persistent x;
  if (isempty (x))
    x = exist ('OCTAVE_VERSION', 'builtin');
  end
  r = x;
end

その後、条件ブロックで簡単に使用できます。Octave wiki でそのエントリを参照してください。

于 2012-12-21T01:06:59.877 に答える