我是Mathematica的新手。
我有一个下三角矩阵,定义如下
A = Table[If[i > j, Subscript[a, i, j], 0], {i, s}, {j, s}];
我想列表中的下三角元素。例如,s = 2
时,列表将包含listOfElement = {a_{2,1}}
,s = 3
,listOfElement = {a_{2,1},a_{3,1},a_{3,2}}
我怎样才能在Mathematica中做到这一点?
非常感谢你提前
答案 0 :(得分:2)
例如这个
A = RandomReal[{0, 1}, {3, 3}];
MatrixForm[A]
M = First[Dimensions[A]];
Flatten[A[[# + 1 ;;, #]] & /@ Range[M - 1]]
产生
(0.586886 0.968229 0.543306
0.107212 0.0492116 0.103052
0.0569797 0.429895 0.70289
)
{0.107212,0.0569797,0.429895}
答案 1 :(得分:2)
您可以将Pick
与选择矩阵一起使用:
selectionMatrix = LowerTriangularize[ConstantArray[1, {s, s}], -1]
selectionMatrix
现在是一个下三角矩阵,您可以在Pick
中找到A
个元素。然后,您可以像这样获取A
的元素:
listOfElements = Flatten @ Pick[A, selectionMatrix, 1]
编辑:确保您定义s
。