1

Mathematica は初めてです。効率よく書けるように頑張ります。

2 つの質問があります。

Q1: {x1,y1,z1} ,{x2,y2,z2} として値を与える 3 つのテーブルがあります...コードは以下のとおりです。

    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}

これには 2 つの問題があります。

まず、結果を {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
4

2 に答える 2

3

おそらくこれがあなたが探しているものです。

要素番号は、c と d を与える 2 つの代替方法によって追加されます。

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 値

1 0 0 50

2 5 0 50

3 10 0 50

4 15 0 50

5 20 0 50

. . . .

于 2011-08-26T12:54:43.193 に答える
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]

ここに画像の説明を入力

于 2011-08-26T13:09:03.990 に答える