MathScript構文(MathScript RTモジュール)

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

発行日時: June 2012

製品番号: 373123C-0112

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

LabVIEW MathScriptを使用して、LabVIEW MathScriptウィンドウまたはMathScriptノードで使用する関数およびスクリプトの書き込みを行います。MathScript関数およびスクリプトを書き込む場合は、以下のガイドラインを使用してください。

  • アンダースコア、空白文字、数字で始まる変数を定義することはできません。
  • MathScript変数はデータタイプに適応します。たとえば、a = sin(3*pi/2)の場合、a は倍精度浮動小数点数です。a = 'result'の場合、a は文字列になります。
  • iまたはjを使用すると、-1の平方根と等しい虚数の単位を表すことができます。
  • 行列要素を分けるには空白文字またはカンマを使用し、行列の行を分けるにはセミコロンを使用します。
  • 一重引用符を使用して文字列を定義します。2つの一重引用符を使用すると、文字列内に1つの一重引用符が含まれます。たとえば、a = 'C:\test\test''s subfolder'で、test''sに2つの一重引用符が含まれる場合、a は文字列C:\test\test's subfolderです。
  • 標準関数を呼び出す際、文字列の入力は、括弧を省略して渡すことができます。たとえば、pathgetsubset dirpathgetsubset (dir)dirは、どちらの構文でもパスを指定する文字列なので、この2つの構文はどちらも現在の検索パスリストを返します。
  • コメントを追加するには、テキストの各行を%文字で開始します。
  • 等式比較を実行するにはa == bを使用します。不等式比較を実行するにはa ~= bを使用します。LabVIEWでは、MathScriptで複合論理の数式評価に短絡評価(short circuit evaluation)を使用します。たとえば、if 0 == 0 || foo(a) == 2というコマンドを実行する場合、数式の最初の部分がTRUEであるためfoo(a)を常に実行しません。同様に、if 0 ~= 0 && foo(a) == 2というコマンドを実行する場合、数式の最初の部分がFALSEであるためfoo(a)を実行しません。
  • MathScriptの配列はゼロではなく、1を起点とします。したがって、配列の最初の要素の指標は1です。
  • n次元の配列を使用できません。
  • セミコロンでコマンドラインを終了する場合、LabVIEW MathScriptウィンドウLabVIEW MathScript プローブではそのコマンドの出力が表示されません。
メモ  セミコロンでコマンドラインを終了した場合でも、dispなどの一部の関数は出力を表示します。
  • カンマは小数点として使用できません。小数点にはピリオドを使用する必要があります。
  • MathScriptでは、テキスト文字列でUnicode以外の文字はサポートされていますが、変数名ではサポートされていません。変数名ではASCII文字だけを使用できます。たとえば、テキスト文字列でáを使用することはできますが、 LabVIEW MathScriptウインドウまたはMathScriptノードから以下のスクリプトを呼び出すことはできません。

    á = rand(50, 1)
    plot(á)
  • MathScript関数は、直接実行することはできません。つまり、LabVIEW MathScriptウィンドウまたはMathScriptノードの入力および出力で関数を呼び出す前に、まず関数を定義して、保存する必要があります。

以下の表は、一般的に使用されるコンストラクトのMathScript構文を示します。

コンストラクト文法サンプル
Switchステートメントswitch expression
case expression
statement-list
[case expression
statement-list]
...
[otherwise
statement-list]
end
switchモード
case 'start'
a = 0;
case{'middle', 'ongoing'}
a = 1;
case 'stop'
a = –1;
otherwise
a = a+1;
end

Switchステートメントでケースを実行する場合、LabVIEWでは次のケースは自動的に選択されません。したがって、C言語のようにブレークステートメントを使用する必要はありません。
Forループfor expression
statement-list
end
for i = 1:10
     a = sin(2*pi*i/10)
end
If-Elseステートメントif expression
statement-list
[elseif expression
statement-list]
...
[else
statement-list]
end
if b == 1
     c = 3
else
     c = 4
end
範囲start:[step:]endb = 2:2:20
b は、2~20の偶数を返します。
ステップサイズを指定しない場合、LabVIEWでは1のステップサイズを使用します。

コンストラクト範囲内でendキーワードを使用して、行、列、または行列の最終要素を示すことができます。
A = [1 2 3; 4 5 6; 7 8 9]
A(3, 2:end)では、行列Aの2番目の要素で開始、最後の要素で終了し、3行目の要素を返します。
Whileループwhile expression
statement-list
end
while i < 10
     a = cos(2*pi*i/10)
     i = i + 1;
end


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

役に立たなかった