我正在尝试扩展这样的函数:(一个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矩阵而不是列表。
任何想法如何解决这个问题?
答案 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]