MathScript関数の構文(MathScript RTモジュール)

LabVIEW 2012 MathScript RTモジュールヘルプ

発行日時: June 2012

製品番号: 373123C-0112

»製品情報を参照
ヘルプをダウンロード(Windowsのみ)

MathScript関数は、直接実行することはできません。つまり、LabVIEW MathScriptウィンドウまたはMathScriptノードの入力および出力で関数を呼び出す前に、まず関数を定義して、保存する必要があります。LabVIEW MathScript関数には以下の構文を使用する必要があります。

function outputs = function_name(inputs)
% documentation
script
  • 各関数の定義は、functionで始めます。
  • outputsには出力変数を定義します。関数に複数の出力変数がある場合は、それらの変数を角括弧で囲み、変数を空白またはカンマで区切ります。
  • function_nameには、関数の名前を定義します。
  • inputsには入力変数を定義します。入力変数はカンマで区切ります。
  • documentationにはヘルプの内容を作成します。LabVIEW MathScriptウィンドウhelpコマンドを実行するか、MathScriptノードの関数上にカーソルを移動すると、その関数のヘルプが表示されます。ヘルプドキュメントの各ラインが%文字で始まるようにします。ヘルプの内容は関数定義のどこにでも配置できます。しかし、LabVIEW MathScriptウィンドウおよび詳細ヘルプウィンドウの出力ウィンドウでLabVIEWはコメントラインの最初のグループだけを表示します。その他のすべてのコメント行は、内部ドキュメントとして使用することができます。
  • scriptに関数の実行可能部分を定義します。

ユーザ定義関数の以下のサンプルは、2つの入力値の和と差を返します。

function [sum, difference] = sumdifference(a, b)

% aとbの和と差を求める

sum = a + b;

difference = a - b;

このサンプルでは、関数をsumdifference.mとして保存する必要があります。関数のファイル名は関数名と同じで、小文字の.m拡張子を付ける必要があります。LabVIEW MathScriptウィンドウまたはMathScriptノードからsumdifference.m呼び出すには、以下の構文を使用します。

[sum, difference] = sumdifference(5, 9)

以下のサンプルは、fooの有効な関数シグネチャを表しています。fooはユーザ定義関数を表します。

function foo function a = foo function [a b] = foo
function foo() function a = foo() function [a b] = foo()
function foo(g) function a = foo(g) function [a b] = foo(g)
function foo(g, h) function a = foo(g, h) function [a b] = foo(g, h)

サブ関数を定義する

1つのMathScriptファイルで複数の関数を定義する場合、最初の関数の後に続くすべての関数はサブ関数となり、メイン関数にのみアクセスすることができます。再帰的に関数を呼び出すことはできません。たとえば、foofooを呼び出すことはできません。また、循環する再帰的関数の呼び出しを行うことはできません。たとえば、barfooを呼び出す場合、foobarを呼び出すことはできません。

正しい構文を使用するMathScriptファイルの例を以下に示します。fadd3はメイン関数で、add2fadd3のサブ関数です。

function a = fadd3(x)
% fadd3 は入力値xに3を加算します。
a = 1 + add2(x);

function a = add2(x)
% add2 はサブ関数です。この関数を呼び出しは、Fadd3のみで行うことができます。
% add2はオイラー公式(
% e^(i*theta) = cos(theta) + i*sin(theta)
a = x - (exp(i*pi) - 1);
)を使用して、定数2を計算します。

オプションの入出力を指定する

任意の関数の入出力を指定することができます。arginnum関数を使用して、arginnumを呼び出す関数に渡された入力引数の数を決定します。渡された入力数が関数の入力最大数よりも小さい場合は、デフォルト値を割り当てて任意の入力を定義することができます。argoutnum関数を使用して、argoutnumを呼び出す関数から要求された出力引数の数を決定します。要求された出力数が関数の最大出力数よりも小さい場合は、要求していない出力の計算を無視することができます。



この記事は役に立ちましたか。

役に立たなかった