ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

coder.target

コード生成ターゲットが指定されたターゲットかどうかを判別

構文

  • tf = coder.target(target)

説明

コード生成ターゲットが target である場合に、tf = coder.target(target) は true (1) を返します。それ以外の場合は false (0) を返します。

MATLAB® クラス用のコードを生成すると、MATLAB はクラスを読み込むときにクラスの初期値を計算してから、コード生成を行います。coder.target を MATLAB クラス プロパティの初期化で使用する場合、coder.target('MATLAB') は true を返します。

すべて展開する

coder.target を使用した MATLAB 関数のパラメーター化

MATLAB または生成コードで機能するように、MATLAB 関数をパラメーター化します。この関数は、MATLAB で実行されると MATLAB 関数 myabsval を呼び出します。ただし、生成コードは C ライブラリ関数 myabsval を呼び出します。

MATLAB 関数 myabsval を記述します。

function y = myabsval(u)   %#codegen
y = abs(u);

入力パラメーターのサイズ、型および実数/複素数を指定するために、-args オプションを使用して myabsval.m の C ライブラリを生成します。

codegen -config:lib myabsval -args {0.0}

codegen はライブラリ myabsval.lib およびヘッダー ファイル myabsval.h をフォルダー /codegen/lib/myabsval 内に作成します。また、関数 myabsval_initializemyabsval_terminate を同じフォルダー内に生成します。

coder.ceval を使用して生成された C ライブラリ関数を呼び出す MATLAB 関数を記述します。

function y = callmyabsval  %#codegen
y = -2.75;
% Check the target. Do not use coder.ceval if callmyabsval is
% executing in MATLAB
if coder.target('MATLAB')
  % Executing in MATLAB, call function myabsval
  y = myabsval(y);
else
  % Executing in the generated code. 
  % Call the initialize function before calling the 
  % C function for the first time
  coder.ceval('myabsval_initialize');

  % Call the generated C library function myabsval
  y = coder.ceval('myabsval',y);
  
  % Call the terminate function after
  % calling the C function for the last time
  coder.ceval('myabsval_terminate');
end

callmyabsval.m を MEX 関数 callmyabsval_mex に変換します。

codegen -config:mex callmyabsval codegen/lib/myabsval/myabsval.lib...
     codegen/lib/myabsval/myabsval.h

MATLAB 関数 callmyabsval を実行します。

callmyabsval
ans =

    2.7500

ライブラリ関数 myabsval を呼び出す MEX 関数 callmyabsval_mex を実行します。

callmyabsval_mex
ans =

    2.7500

入力引数

すべて展開する

target - コード生成ターゲット文字列

コード生成ターゲットは、以下のいずれかの文字列として指定されています。

'MATLAB'MATLAB での実行 (コードの生成ではない)
'MEX'MEX 関数の生成
'Sfun'Simulink® モデルのシミュレーション
'Rtw'LIB、DLL または EXE ターゲットの生成
'HDL 'HDL ターゲットの生成
'Custom'カスタム ターゲットの生成

例: tf = coder.target('MATLAB')

データ型:char

参考

この情報は役に立ちましたか?