数理最適化セミナーのご案内

5.10.3 切断操作 slice

slice(次元 [, ..., 次元])
  • Setの操作slice()は,多次元集合を指定の次元で切り出し,新しい集合を構成します.
  • 引数は1からはじまる整数で,Setの次元以下である必要があります.

 集合の要素を構成する直積のメンバを左から数えた順番を表します.以下にslice()を用いた例を示します.

Set a(dim = 3);          // 次元が 3 となる集合 a を設定する
a = "1,1,1 1,3,1 b,2,1 1,3,1 1,4,a 1,1,1 1,5,1";
Set a1;                  // 次元が 1 となる集合 a1 を設定する
a1 = a.slice(1);         // 集合 a1 は a の要素の 1 番目のメンバで構成される
a1.val.print()           // 結果: a1=(1 b)
Set a12(dim = 2);        // 次元が 1 となる集合 a1 を設定する
a12 = a.slice(1, 2);     // 集合 a12 は a の要素の 1, 2 番目のメンバで構成される
a12.val.print()          // 結果: a12=(1 1 1 3 b 2 1 4 1 5)
Set a121(dim = 3);
a121 = a.slice(1, 2, 1); // 要素の 1,2,1 番目のメンバで構成される集合
a121.val.print();        // 結果: a121=(1 1 1 1 3 1 b 2 b 1 4 1 1 5 1)
Set a13(dim = 2);
a13 = a.slice(1, 3);     // 要素の 1,3 番目のメンバで構成される集合
a13.val.print();         // a13=(1 1 b 1 1 a)

 

 

上に戻る