19.2.1 Broadcasting and Legacy Code

Last-modified: 2025-03-03 (月) 21:43:52

19.2.1 ブロードキャストとレガシーコード

新しいブロードキャストセマンティクスは、以前のバージョンのOctaveで動作していたコードにはほとんど影響しません。したがって、 以前のバージョンのOctaveで動作していたMATLABから継承したすべてのコードは、変更せずにOctaveでも動作するはずです。唯一の例外は、次のようなコードです 。

try
 c = a.*b;
catch
 c = a.*a;
end_try_catch

異なるサイズの行列に依存していたため、エラーが発生していた可能性があります。このような操作は現在有効な Octave 構文であるため、エラーは発生しません。代わりに、次のコードを使用する必要があります。

if (isequal (size (a), size (b)))
 c = a .* b;
else
 c = a .* a;
endif