このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
fiaccel
固定小数点コードの高速化と浮動小数点 MATLAB コードの固定小数点 MATLAB コードへの変換
構文
fiaccel -
options
fcn
fiaccel -float2fixed fcn
説明
fiaccel -
では、MATLAB® ファイル options
fcn
fcn
.m
が、固定小数点コードを高速化する MEX 関数に変換されます。fiaccel
を使用するには、コードが次の要件のいずれかを満たしていなければなりません。
最上位の関数が入力や出力をもたず、コードで
fi
が使用されている。最上位の関数が出力または非定数の入力をもち、少なくとも 1 つの出力または入力が
fi
である。最上位の関数が組み込み整数クラス (
int8
、uint8
、int16
、uint16
、int32
、uint32
、int64
またはuint64
) を含む入力または出力を少なくとも 1 つもち、コードでfi
が使用されている。
メモ
最上位レベル ファイルが Unicode 文字を含むパス上にある場合、コード生成はそのファイルを検出できない場合があります。
fiaccel -float2fixed
は、浮動小数点 MATLAB 関数 fcn
fcn
を固定小数点 MATLAB コードに変換します。
入力引数
|
MEX 関数を生成する、元の MATLAB 関数。 |
|
コンパイラ オプションの選択肢。
|
例
テスト ファイルを作成し、移動平均を計算します。その後、fiaccel
を使用してコードを高速化し、比較を行います。
function avg = test_moving_average(x) %#codegen if nargin < 1, x = fi(rand(100,1),1,16,15); end z = fi(zeros(10,1),1,16,15); avg = x; for k = 1:length(x) [avg(k),z] = moving_average(x(k),z); end function [avg,z] = moving_average(x,z) %#codegen if nargin < 2, z = fi(zeros(10,1),1,16,15); end z(2:end) = z(1:end-1); % Update buffer z(1) = x; % Add new value avg = mean(z); % Compute moving average % Use fiaccel to create a MEX function and % accelerate the code x = fi(rand(100,1),1,16,15); fiaccel test_moving_average -args {x} -report % Compare the non-accelerated and accelerated code. x = fi(rand(100,1),1,16,15); % Non-compiled version tic,avg = test_moving_average(x);toc % Compiled version tic,avg = test_moving_average_mex(x);toc
浮動小数点 MATLAB コードの固定小数点への変換
coder.FixptConfig
オブジェクト fixptcfg
を既定の設定で作成します。
fixptcfg = coder.config('fixpt');
テスト ベンチの名前を設定します。この例では、テスト ベンチ関数名は dti_test
です。
fixptcfg.TestBenchName = 'dti_test';
浮動小数点の MATLAB 関数を固定小数点の MATLAB コードに変換します。この例では、MATLAB 関数名は dti
です。
fiaccel -float2fixed fixptcfg dti
バージョン履歴
R2011a で導入