ドキュメンテーション

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

Fcn

指定された式を入力に適用

  • ライブラリ:
  • Simulink / User-Defined Functions

説明

Fcn ブロックは、指定された数式を入力に適用します。この式は、次の成分の 1 つ以上を含めることができます。

  • u - ブロックへの入力。u がベクトルの場合、u(i) はベクトルの i 番目の要素を表します。u(1) またはu 単体は最初の要素を表します。

  • 数値定数

  • 算術演算子 (+ - * /^)

  • 関係演算子 (== != > < >= <=) — 関係が true の場合、式は 1 を返し、そうでない場合は 0 を返します。

  • 論理演算子 (&& || !)— 関係が true の場合、式は 1 を返し、そうでない場合は 0 を返します。

  • 小かっこ

  • 数学関数 — absacosasinatanatan2ceilcoscoshexpfloorhypotloglog10powerremsgn (MATLAB®sign と同じ)、sinsinhsqrttantanh

    メモ

    Fcn ブロックでは関数 round および関数 fix はサポートされません。これらの丸めモードを適用するには、Rounding Function ブロックを使用してください。

  • ワークスペース変数 - 上の項目リストにない変数名は、MATLAB に渡されて評価されます。行列またはベクトルの要素は具体的に参照する必要があります。たとえば、行列の最初の要素は、A ではなく A(1,1) とします。

Fcn ブロックは、演算子の優先順位について、次のようなルールに従います。

  1. ( )

  2. ^

  3. + - (unary)

  4. !

  5. * /

  6. + -

  7. > < <= >=

  8. == !=

  9. &&

  10. ||

式は、MATLAB 式と違って、行列計算を実行できません。また、このブロックはコロン演算子 (:)をサポートしていません。

ブロック入力は、スカラーまたはベクトルです。出力は、常にスカラーです。ベクトル出力の場合は、Math Function ブロックの使用を検討してください。ブロック入力がベクトルであり、関数が入力要素に対して個別に演算を行う場合 (たとえば、関数 sin)、ブロックは最初のベクトル要素に対してのみ演算を行います。

制限

  • 式の調整をノーマル モードおよびアクセラレータ モードでのシミュレーション時 (アクセラレータ モードの動作を参照) および生成コードで行うことはできません。調整可能な式を実装するには、その式を Fcn ブロックの外で調整するようにしてください。たとえば、Relational Operator ブロックを使用して外部で式を評価します。

  • Fcn ブロックは、カスタム ストレージ クラスをサポートしません。Apply Built-In and Customized Storage Classes to Data Elements (Embedded Coder)を参照してください。

端子

入力

すべて展開する

Fcn ブロックは、single または double タイプの信号を受け入れ、出力します。

詳細については、Simulink® ドキュメンテーションのSimulink でサポートされているデータ型を参照してください。

データ型: single | double

出力

すべて展開する

Fcn ブロックは、single または double タイプの信号を受け入れ、出力します。

詳細については、Simulink ドキュメンテーションのSimulink でサポートされているデータ型を参照してください。

データ型: single | double

パラメーター

すべて展開する

入力に適用する数式を指定します。式の成分は、上にリストされています。式は、数学的に正しく指定する必要があります (小かっこの一致の使用や適切な数の関数引数など)。式の調整に関しては、いくつか制限があります (制限を参照)。

プログラムでの使用

ブロック パラメーター: Expr
型: 文字ベクトル
値: 数式
既定の設定: 'sin(u(1)*exp(2.3*(-u(2))))'

メモ

このパラメーターは、明示的に -1 以外の値に設定されていない限り、ブロック ダイアログ ボックスに表示されません。詳細は、サンプル時間が推奨されないブロックを参照してください。

ブロックの特性

データ型

double | single

直接フィードスルー

はい

多次元信号

いいえ

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

PLC コード生成
Simulink® PLC Coder™ を使用して構造化テキスト コードを生成します。

R2006a より前に導入