LabVIEW 2012 MathScript RTモジュールヘルプ
発行日時: June 2012
製品番号: 373123C-0112
»製品情報を参照
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 dirとpathgetsubset (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:]end | b = 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 |