List 在Mathematica和Grid中为表格编号
我对数学一无所知。我会尽我所能有效地写它 我有两个问题: Q1: 我有三个表,它们给我的值是{x1,y1,z1},{x2,y2,z2}……代码如下:List 在Mathematica和Grid中为表格编号,list,wolfram-mathematica,nested-lists,List,Wolfram Mathematica,Nested Lists,我对数学一无所知。我会尽我所能有效地写它 我有两个问题: Q1: 我有三个表,它们给我的值是{x1,y1,z1},{x2,y2,z2}……代码如下: Table[Table[Table[ {xcord, ycord, zcord}, {xcord, 0, 50, 5}], {ycord, 0, 50,5}], {zcord, 50, 15
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
也许这就是你要找的 元素编号通过两种可选方法相加,即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"}}]
c==d?真的
数字X值Y值Z值
1050
25050
310050
415050
520050
也许这就是你要找的 元素编号通过两种可选方法相加,即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"}}]
c==d?真的
数字X值Y值Z值
1050
25050
310050
415050
520050
也许:
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]
也许:
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]
顺便说一句,你不必那样筑巢。它接受多个迭代器,即
Table[Table[i+j,{j,10}],{i,10}]
相当于Table[i+j,{i,10},{j,10}]
。注意迭代器的顺序是相反的。谢谢@rcollyer让我知道另一种方法……顺便说一句,你不必像那样嵌套。它接受多个迭代器,即Table[Table[i+j,{j,10}],{i,10}]
相当于Table[i+j,{i,10},{j,10}]
。注意迭代器的顺序是相反的。谢谢@rcollyer让我知道另一种方法。。。