使用第三个变量扩展ListPointPlot3D?

时间:2013-03-10 08:18:42

标签: wolfram-mathematica

我正在尝试扩展这样的函数:(一个4x4平方)

ListPointPlot3D[Table[{x, y, 0}, {x, 0, 4, 1}, {y, 0, 4, 1}]]

这样的事情:(一个4x4x4立方体)

ListPointPlot3D[Table[{x, y, z}, {x, 0, 4, 1}, {y, 0, 4, 1}, {z, 0, 4, 1}]]

添加第3维。

然而,后者的尺寸似乎不正确。它似乎形成了一个3d点的2x2矩阵而不是列表。

任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

如果你仔细一点,你会看到表达式

Table[{x, y, z}, {x, 0, 4, 1}, {y, 0, 4, 1}, {z, 0, 4, 1}]

返回具有5x5x5三元组的结构。这正是表达式应该返回的内容。如果将Dimensions[]函数应用于返回的结构,则可以看到此信息。

有几种方法可以将表格变成125个三元组的列表,一个是像这样使用Flatten

Flatten[Table[{x, y, z}, {x, 0, 4, 1}, {y, 0, 4, 1}, {z, 0, 4, 1}], 2]

或者您可以直接生成三元组列表;对于你的例子,一个替代方案是

Tuples[Range[0, 4], 3]