この例では、パターン X = setfimath(X,F) と Y = removefimath(Y) を使用して、変数の fimath 設定が関数の外部から影響を受けないようにする方法を示します。このパターンは生成コードでデータのコピーを作成しません。
type fixed_point_32bit_KeepLSB_plus_example.m
function y = fixed_point_32bit_KeepLSB_plus_example(a,b)
f = fimath('RoundingMethod', 'Floor', ...
'OverflowAction', 'Wrap', ...
'SumMode', 'KeepLSB', ...
'SumWordLength', 32)
a = setfimath(a,f);
b = setfimath(b,f);
y = a + b;
y = removefimath(y);
end
a = fi(0,1,16,15);
b = fi(0,1,16,15);
MATLAB® Coder™ を使用して C コードを生成できます。この例では、32 ビットのネイティブ整数型をもつコンピューターで C コードを生成します。