Matrix

Model ElementMatrixは、MotionSolveで使用される一般的な実数値のMxNマトリクスを定義します。

クラス名

Matrix

説明

マトリクスは、このインターフェースを備えたMotionSolveで、次の2つの方法で指定できます。
  • 行順または列順の密マトリクスとして
  • 座標リスト(COO)フォーマットを使用した疎マトリクスとして

属性の概要

名前 プロパティ コマンドで変更可能か 設計可能か
id Int ()    
label Str ()  
full Enum ("RORDER CORDER", default=None)  
rows Int (0)  
columns Int (0)  
values Double ([], count=0) FDのみ
sparse Bool (False)  
i Int ([], count=0)  
j Int ([], count=0)  

使用法

#1: Dense Matrix Format (row or column order)
Matrix (rows=integer, columns=integer, values=list, optional_attributes)

#2. Sparse matrix in COO format
Matrix (sparse=True, rows=integer, columns=integer, i=list, j=list, values=list, optional_attributes)

属性

密マトリクスフォーマット
rows
整数
マトリクス内の行数。
属性rowsは必須です。rows > 0
columns
整数
マトリクス内の列数。
属性columnsは必須です。columns > 0。
values
倍精度値のリスト
マトリクスの要素を指定します。順序(行順または列順)は、引数fullで決定されます。デフォルトは列順です。
valuesリスト内のエントリの数は、rows x columnsです。
属性valuesは必須です。
full
文字列
マトリクスを行順で指定する場合は、full="RORDER"に設定します。
属性fullは省略可能です。
指定しない場合、またはfull="CORDER"の場合は、マトリクス要素が列順で指定されることを意味します。
COOフォーマットの疎マトリクス
sparse
ブール
"TRUE"に設定します。
属性sparseは必須です。
rows
整数
マトリクス内の行数。
属性rowsは必須です。rows > 0
columns
整数
マトリクス内の列数。
属性columnsは必須です。columns > 0。
i
整数のリスト
values属性内の各要素の行位置を指定します。
i引数は必須です。
注: len (i) = len (j) = len (values) = マトリクス内のゼロ以外のエントリの数。len (i) > 0
j
整数のリスト
values属性内の各要素の列位置を指定します。
j引数は必須です。
注: len (i) = len (j) = len (values) = マトリクス内のゼロ以外のエントリの数。len (j) > 0
values
倍精度値のリスト
マトリクスの要素を指定します。
属性valuesは必須です。
注: len (i) = len (j) = len (values) = マトリクス内のゼロ以外のエントリの数。len (values) > 0
オプション属性 - すべてのバリアントに使用できます。
id
整数
要素識別番号を指定します。この番号は、モデル内のすべてのMatrixオブジェクトの中で一意にする必要があります。
この属性は省略可能です。MotionSolveは、IDが指定されていない場合、自動的にこれを作成します。
値の範囲:id > 0
label
文字列
Matrixオブジェクトの名前を指定します。
この属性は省略可能です。指定しない場合は、MotionSolveが代わりにラベルを作成します。

XMLシンタックスとPythonシンタックスの比較を示す例
XMLシンタックス Pythonシンタックス
<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> Values = [11, 12, 13, 14, 15,

21, 22, 23, 24, 25,

31, 32, 33, 34, 35,

41, 42, 43, 44, 45]

Mat1 = Matrix (label="Mat-1", rows=4, columns=5, full="RORDER", values=Values)

 <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> Values = [11, 21, 31, 41, 12,

22, 32, 42, 13, 23,

33, 43, 14, 24, 34,

44, 15, 25, 35, 45]

Mat2 = Matrix (label="Mat-2", rows=4, columns=5, values=Values)

<Reference_Matrix      id          = "1"      nrow        = "10"      ncol        = "10"      nval        = "13"      issparse    = "True" >         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 .         9   5   5 .1         10  3   4 .2      </Reference_Matrix> Irow = [1, 1, 2, 3, 3, 4, 5, 6, 7, 8, 9, 10]

Jcol = [1, 7, 8, 9, 6, 4, 8, 2, 10, 7, 9, 3]

Values = [3.3, 7.7, 2.9, 1.1, 2.2, 4.4, 7.6, 1.9, 9.2, 5.1, 10, 4.2]

Mat3 = Matrix (label="Mat-3", sparse=True, rows=10, columns=10, i=Irow, j=Jcol, values=Values)

コメント

  1. プロパティの概要、使用理由、および拡張方法については、プロパティをご参照ください。
  2. Matrixの詳細については、Reference: Matrixをご参照ください。