19.2.1 广播与遗留代码

新的广播语义几乎不会影响在以前版本 Octave 中能正常运行的代码。因此,所有从 MATLAB 继承而来、并在以前版本 Octave 中能正常工作的代码,在目前版本中仍应无需修改即可运行。唯一的例外是如下形式的代码:

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

这类代码可能依赖于不同尺寸的矩阵运算产生错误(从而进入 catch 分支)。由于此类操作现在已是有效的 Octave 语法,它将不再引发错误。应改用以下代码:

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

版权所有 © 2024-2026 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-4