我是Mathematica的新手。我会尽力把它写得有效。
我有两个问题:
Q1: 我有三个表格,它们的值为{x1,y1,z1},{x2,y2,z2} ......代码如下:
Table[Table[Table[ {xcord, ycord, zcord},
{xcord, 0, 50, 5}],
{ycord, 0, 50,5}],
{zcord, 50, 150, 10}]
现在我需要像这样的输出
{1,x1,y1,z1}
{2,x2,y2,z2}
{3,x3,y3,z3}
.
.
{n,xn,yn,zn}
这有两个问题。
首先,我将结果格式化为类似{x1,y1,z1},{x2,y2,z2} ...... {xn,yn,zn}的结果,但我希望它以这种方式格式化:
{x1,y1,z1}
{x2,y2,z2}
{x3,y3,z3}
.
.
{xn,yn,zn}
其次,我无法对每组元素进行编号,在每组元素前添加数字,如
{1,x1,y1,z1}
{2,x2,y2,z2}
{3,x3,y3,z3}
.
.
{n,xn,yn,zn}
我试图为每组坐标制作单独的表格,并将这些表格对应于每组坐标。然后我尝试将它们分别放在不同的列中并加入它们但仍然没有成功。
Q2: 我想将从上表中获得的值分成如下所示的网格系统。像我们在Excel中所做的一样,所有值都位于不同的单元格中。
Number X values Y Values Z values
1 x1 y1 z1
2 x2 y2 z2
.
.
n xn yn zn
答案 0 :(得分:3)
也许这就是你要找的东西。
元素编号由两种替代方法添加,给出c和d。
a = Table[Table[Table[{xcord, ycord, zcord}, {xcord, 0, 50, 5}],
{ycord, 0, 50, 5}], {zcord, 50, 150, 10}];
b = Flatten[a, 2];
c = MapIndexed[Flatten[{First[#2], #1}] &, b];
d = Transpose[Prepend[Transpose[b], Range[Length[b]]]];
Print[Row[{"c==d? ", c == d}]]
TableForm[Append[Take[c, 5], Table[".", {4}]],
TableHeadings -> {None,
{"Number", "X Values", "Y Values", "Z Values"}}]
Ç== d?真
数字X值Y值Z值
1 0 0 50
2 5 0 50
3 10 0 50
4 15 0 50
5 20 0 50
。 。 。
答案 1 :(得分:2)
也许:
i = 0; t2 =
Grid[Join[{{"Number", "X Values", "Y Values", "Z Values"}},
Flatten[Table[{++i, xcord, ycord, zcord},
{xcord, 0, 50, 5},
{ycord, 0, 50, 5},
{zcord, 50, 150, 10}], 2]],
Frame -> All]