Reference: Matrix
Model ElementReference_Matrixは、MotionSolveで使用される一般的な実数値のMxNマトリクスを定義します。
説明
- XMLファイル内の行順または列順の密マトリクスとして
- XMLファイル内の疎マトリクスとして
- XMLファイル内で参照されるコンパイルされたユーザー作成サブルーチンで
XMLファイル内で参照されるインタープリタ型ユーザー作成サブルーチンで
フォーマット
MotionSolveでマトリクスを指定するための4つの方法を以下に示します。
- 密マトリクスフォーマット:
-
<Reference_Matrix id = "integer" [label = "string"] nrow = "integer" ncol = "integer" [isroworder = "TRUE"]> val_11, val_12, val_13, ... val_1n ... ... ... ... val_11, val_12, val_13, ... val_1n </Reference_Matrix>
- XMLファイルで参照されるPythonユーザーサブルーチン内:
-
<Reference_Matrix id = "integer" [label = "string"] nrow = "integer" ncol = "integer" script_name = "valid_path_name" interpreter = "PYTHON" | "MATLAB usrsub_param_string = "USER(par_1, ... par_n)" usrsub_fnc_name = "custom_fnc_name" />
- 疎マトリクスフォーマット:
-
<Reference_Matrix id = "integer" [label = "string"] nrow = "integer" ncol = "integer" nval = "integer" issparse = TRUE > row_index_1 col_index_1 val_1 ... ... ... row_index_n col_index_n val_n </Reference_Matrix>
- XMLファイルで参照されるコンパイルされたユーザーサブルーチン内:
-
<Reference_Matrix id = "integer" [label = "string"] nrow = "integer" ncol = "integer" usrsub_dll_name = "valid_path_name" usrsub_param_string = "USER (par_1, ... par_n)" usrsub_fnc_name = "custom_fnc_name" />
属性
- id
- これは要素識別番号(整数 > 0)を指定します。この番号は、すべてのReference_Matrix要素の中で一意です。
- label
- Reference_Matrix要素の名前を指定します。このパラメータは省略可能です。
- nrow
- マトリクス内の行数。nrow > 0
- ncol
- マトリクス内の列数。ncol > 0
- isroworder
- マトリクスを行順で指定する場合は、"TRUE"に設定します。指定しない場合は、マトリクス要素が列順で指定されることを意味します。この引数は、密マトリクスでのみ有効です。
- issparse
- 疎マトリクスの場合、"TRUE"に設定します。マトリクスが密の場合は使用しないでください。
- nval
- 疎マトリクスでゼロ以外のエントリの数を指定します。密マトリクスを定義する場合は使用しないでください。指定する場合は、Nval > 0です。
- usrsub_dll_name
- ユーザーサブルーチンを含むDLLまたは共有ライブラリのパスと名前を指定します。MotionSolveはこの情報を使用して、実行時にDLL内のユーザーサブルーチンMatrix_Readを読み込みます。
- usrsub_param_string
- データファイルからユーザー定義のサブルーチンに渡されるパラメータのリストを定義します。この属性は、すべてのタイプのユーザーサブルーチンおよびスクリプトに共通です。
- usrsub_fnc_name
- ユーザーサブルーチンMatrix_Readの代替名を指定します。
- script_name
- usrsub_fnc_nameで指定されたルーチンを含むユーザー作成スクリプトのパスと名前を指定します。
- interpreter
- Specifies the interpreted language that the user script is written in. Valid choices are MATLAB or PYTHON.
例
次の例は、4行5列の密マトリクスを定義します。データは行順で指定されます。
<Reference_Matrix
id = "1"
nrow = "4"
ncol = "5"
isroworder = "TRUE" >
11.0, 12.0, 13.0, 14.0, 15.0
21.0, 22.0, 23.0, 24.0, 25.0
31.0, 32.0, 33.0, 34.0, 35.0
41.0, 42.0, 43.0, 44.0, 45.0
</Reference_Matrix>
2番目の例は、上の4x5マトリクスを列順のフォーマットで指定する方法を示します。
<Reference_Matrix
id = "1"
nrow = "4"
ncol = "5" >
11.0, 21.0, 31.0, 41.0
12.0, 22.0, 32.0, 42.0
13.0, 23.0, 33.0, 43.0
14.0, 24.0, 34.0, 44.0
15.0, 25.0, 35.0, 45.0
<Reference_Matrix>
3番目の例は、疎マトリクスを指定する方法を示します。

上記マトリクスを疎フォーマットで指定するためのMotionSolveステートメントは次のとおりです:
<Reference_Matrix
id = "1"
nrow = "10"
ncol = "10"
nval = "13" >
1, 1, 3.3
1, 7, 7.7
2, 8, 2.9
3, 9, 1.1
3, 6, 2.2
4, 4, 4.4
5, 8, 7.6
6, 2, 1.9
7, 10, 9.2
8, 7, 5.1
9, 9, 10.
10, 3, 4.2
</Reference_Matrix>
コメント
- Reference_Matrixは、一般的なM x Nマトリクスを定義します。
- Reference_Matrix要素は、Reference_ParamCurveおよびControl_Stateeqn要素によって参照されます。これらは必要に応じてほかのユーザーサブルーチンでも使用できます。
- 疎マトリクスフォーマットは、3分の2以上の要素がゼロの場合に使用します。
- ユーザー作成サブルーチンMatrix_Readを使用すると、ファイルからマトリックスデータを読み出すことができます。