如何使用带有标签

时间:2017-12-24 03:02:13

标签: math wolfram-mathematica

我有一个列表,如{{1,3,c1},{2,3,c2},{66,4,c3} ......},我想制作第一行的网格列表中的第一个元素,第一列是第二个元素,然后元素 c 位于其对应的第一个和第二个元素下。有没有办法在mathematica中做到这一点?

2 个答案:

答案 0 :(得分:1)

有很多方法可以做到这一点。我只给出一个经典的例子。

SparseArray函数可以读取此类规范并将其转换为

tt={{1,3,c1},{2,3,c2},{7,4,c3}};

qq= SparseArray[Map[Most[#]->Last[#]&,tt]]

TableForm[qq, TableHeadings->{Range[Length[qq]],Range[Length[Transpose@qq]]}]

Table produced

如果你想使用不同于整数的东西作为索引, 这也是可能的,但需要一种翻译。

如果需要显示稀疏数组的稀疏显示 在使用Mathematica命令之前需要进行轻度预处理 如表格或网格。

答案 1 :(得分:0)

xss = {{1, 3, c1}, {2, 3, c2}, {10, 4, c3}}
toGrid[xss_] := xss // Map[Most@# -> Last@# &] // SparseArray[#] & // Grid
toGrid@xss

enter image description here