2 つのサブ質問に分けることができる質問があります。以下にコードを示すテーブルを作成しました。
問題1。
xstep = 1;
xmaximum = 6;
numberofxnodes = 6;
numberofynodes = 3;
numberofzlayers = 3;
maximumgridnodes = numberofxnodes*numberofynodes
mnodes = numberofxnodes*numberofynodes*numberofzlayers;
orginaltable =
Table[{i,
node2 = i + xstep, node3 = node2 + xmaximum,
node4 = node3 - xstep,node5 = i + maximumgridnodes,
node6 = node5 + xstep,node7 = node6 + xmaximum,
node8 = node7 - xstep},
{i, 1, mnodes}]
これを実行すると、元のテーブルが取得されます。基本的に、元のテーブルから 6 番目の要素と 6 番目の要素の倍数を削除したいと考えています。以下のコードを使用してこれを行うことができます。
modifiedtable = Drop[orginaltable, {6, mnodes, 6}]
これで、元のテーブルの 6 番目ごとの要素と 6 番目の要素の倍数が削除された、変更されたテーブルが得られます。これは私の問題1を解決します。
今私の問題2:
** 主要な編集バージョン**:(上記のコードはすべて正しい)
回答ありがとうございますが、私は何か他のものが欲しかったのですが、最初に説明したときに間違いを犯したので、もう一度試してみます.
以下は私の変更されたテーブルです: "/** と **/" の間の要素を削除してそこに残したいです。
{{1, 2, 8, 7, 19, 20, 26, 25}, {2, 3, 9, 8, 20, 21, 27, 26}, {3, 4,10, 9, 21, 22, 28, 27}, {4, 5, 11, 10, 22, 23, 29, 28}, {5, 6, 12, 11, 23, 24, 30, 29}, {7, 8, 14, 13, 25, 26, 32, 31}, {8, 9, 15, 14, 26, 27, 33, 32}, {9, 10, 16, 15, 27, 28, 34, 33}, {10, 11, 17, 16, 28, 29, 35, 34}, {11, 12, 18, 17, 29, 30, 36, 35}, /**{13, 14, 20, 19, 31, 32, 38, 37 }、{14、15、21、20、32、33、39、38}、{15、16、22、21、33、34、40、39}、{16、17、23、22、34、35 , 41, 40}, {17, 18, 24, 23, 35, 36, 42, 41},**/ {19, 20, 26, 25, 37, 38, 44, 43}, {20, 21, 27, 26, 38, 39, 45, 44}, {21, 22, 28, 27, 39, 40, 46, 45}, {22, 23, 29, 28, 40, 41, 47, 46}, { 23, 24, 30, 29, 41, 42, 48, 47}, {25, 26, 32, 31,43, 44, 50, 49}, {26, 27, 33, 32, 44, 45, 51, 50}、{27、28、34、33、45、46、52、51}、{28、29、35、34、46、47、53、52}、{29、30、36、35、47、 48, 54, 53}, /**{31, 32, 38, 37, 49,50, 56, 55}, {32, 33, 39, 38,50, 51, 57, 56}, {33, 34, 40, 39, 51, 52, 58, 57}, {34, 35, 41, 40, 52, 53, 59, 58}, {35, 36, 42, 41, 53, 54, 60, 59},**/ {37, 38, 44, 43,55, 56, 62, 61}, {38, 39, 45, 44, 56, 57, 63, 62}, {39, 40, 46, 45, 57, 58, 64, 63}, {40, 41, 47, 46, 58, 59, 65 , 64}, {41, 42, 48, 47,59, 60, 66, 65}, {43, 44, 50, 49, 61, 62, 68, 67}, {44, 45, 51, 50, 62 , 63, 69, 68}, {45, 46, 52, 51, 63, 64, 70, 69}, {46, 47, 53, 52, 64, 65, 71, 70}, {47, 48, 54 , 53, 65, 66, 72, 71}, /**{49, 50, 56, 55, 67, 68, 74, 73}, {50, 51, 57, 56, 68, 69, 75, 74} ,{51,52, 58, 57, 69, 70, 76, 75}, {52, 53, 59, 58, 70, 71, 77, 76}, {53, 54, 60, 59, 71, 72, 78, 77}}**/44, 56, 57, 63, 62}, {39, 40, 46, 45, 57, 58, 64, 63}, {40, 41, 47, 46, 58, 59, 65, 64}, {41, 42, 48, 47,59, 60, 66, 65}, {43, 44, 50, 49, 61, 62, 68, 67}, {44, 45, 51, 50, 62, 63, 69, 68} 、{45、46、52、51、63、64、70、69}、{46、47、53、52、64、65、71、70}、{47、48、54、53、65、66、 72, 71}, /**{49, 50, 56, 55, 67, 68, 74, 73}, {50, 51, 57, 56, 68, 69, 75, 74},{51,52, 58 , 57, 69, 70, 76, 75}, {52, 53, 59, 58, 70, 71, 77, 76}, {53, 54, 60, 59, 71, 72, 78, 77}}** /44, 56, 57, 63, 62}, {39, 40, 46, 45, 57, 58, 64, 63}, {40, 41, 47, 46, 58, 59, 65, 64}, {41, 42, 48, 47,59, 60, 66, 65}, {43, 44, 50, 49, 61, 62, 68, 67}, {44, 45, 51, 50, 62, 63, 69, 68} 、{45、46、52、51、63、64、70、69}、{46、47、53、52、64、65、71、70}、{47、48、54、53、65、66、 72, 71}, /**{49, 50, 56, 55, 67, 68, 74, 73}, {50, 51, 57, 56, 68, 69, 75, 74},{51,52, 58 , 57, 69, 70, 76, 75}, {52, 53, 59, 58, 70, 71, 77, 76}, {53, 54, 60, 59, 71, 72, 78, 77}}** /{52, 53, 59, 58, 70, 71, 77, 76}, {53, 54, 60, 59, 71, 72, 78, 77}}**/{52, 53, 59, 58, 70, 71, 77, 76}, {53, 54, 60, 59, 71, 72, 78, 77}}**/
さて、ご覧のとおり、最初の 10 個の要素 ( の 1 番目から 10 番目の要素modifiedtable
) を最終テーブル ( DoubleModifiedTable
) に含める必要がありました。次の 5 つ ( の 11 番目から 15 番目の要素modifiedtable
) が削除されました。次に、次の 10 個の要素 ( の 16 番目から 25 番目の要素modifiedtable
) が最終的なテーブルに存在し ( DoubleModifiedTable
)、次の 5 つの要素 ( の 26 番目から 30 番目の要素modifiedtable
) が削除され、テーブル全体で同様に削除されます。
この問題を解決し、 final table という名前を付けたとしましょうDoubleModifiedTable
。
私は基本的に を取得することに興味がありDoubleModifiedTable
ます。説明が簡単なので、問題を細分化することにしました。
これは単なるテーブルの例ですが、実際には巨大なテーブルがあるため、テーブルを介してこれを自動的に実行したいと考えています。このテーブルでこの問題を解決する方法を理解できれば、大きなテーブルでも解決できます。