正方行列を掛けた単一行/複数列の行列があります。SAS は 1 行の結果を返します。これまでのところ、私が大学の数学から覚えていることと、人々に尋ねることから、わかりました.
しかし、それを行うSASの行は次のとおりです。
fieldA = matrix1`*matrix2[,1:fieldB]
"fieldA = matrix1`*matrix2" は理解できますが、[,1:fieldB] が何をするのかわかりません。また、それを説明するドキュメントが見つからないようです。
正方行列を掛けた単一行/複数列の行列があります。SAS は 1 行の結果を返します。これまでのところ、私が大学の数学から覚えていることと、人々に尋ねることから、わかりました.
しかし、それを行うSASの行は次のとおりです。
fieldA = matrix1`*matrix2[,1:fieldB]
"fieldA = matrix1`*matrix2" は理解できますが、[,1:fieldB] が何をするのかわかりません。また、それを説明するドキュメントが見つからないようです。
matrix2[,1:fieldB]
はmatrix2をサブセット化しています。これには、matrix2 のすべての行と、リスト 1:fieldB に含まれる列のみが含まれます。おそらくfieldBはmatrix1の列数(転置すると行になる)を識別するため、*は機能します[matrix1'
操作が有効になるには、行はmatrix2列と等しくなければなりません]。
たとえば、matrix1 が次の行列であるとします。
[1,3,5]
また、matrix2 は次の行列です。
[1,2,3,4,
4,5,6,7,
8,9,10,11,
13,14,15,16]
今、
matrix1`*matrix2
は不正です - matrix1` には 3 つの行 (転置) があり、matrix2 には 4 つの列があります。そう:
matrix1`*matrix2[,1:3]
これで有効になり、matrix2 の最初の 3 列による matrix1` の行列積が生成されます。