MATLAB上で作成する関数を octave でも動作させるために


注意点 MATLABでの意味 octaveでの意味 推奨使用方法
end ifやwhileブロックの終りだけでなく、配列中の最後の要素のインデックスをも示す ifやwhileブロックの終りとして使用することができる
X(3:end) -> X(3:length(X))
X(1,1:2:end-1) -> X(1,1:2:size(X, 2)-1)
sum sum(X, dim) により X の dim 次元についての合計を返す sum(X) は1つしか引数を取らない
sum(X, 1) -> sum(X)
sum(X, 2) -> sum(X')'
{ } セル配列を指す 使用できない 使用しないこと
! シェルコマンドの実行 使用できない
if exist('OCTAVE_VERSION')
    eval(strcat('system(', shell_command_string, ')'));
end
isfield 構造体に要素が含まれていれば真 struct_contains を使う
あるいは Octave で matcompatを使う
if exist('OCTAVE_VERSION')
    struct_contains(struct, 'element');
else
    isfield(struct, 'element');
end

akira@rsch.tuis.ac.jp