「0 < 数値 <= 最大値」をループさせる
0,1,2,3, 0,1,2,3, 0,1,2,3,...
のように、
0を含み、最大値を含まないループ(0 <= 数値 < 最大値)は、
Mod[ <数値>, <最大値> ]
で得られます。
上の例では、数値オブジェクトnを作成し、さらに、数値オブジェクト
loop = Mod[n, 4]
を作成すれば、nをスライダーで増加させていったとき、loopは常に0 <= loop < 4の範囲をループします。
ところで、下図のように、0を含まず、最大値を含むループ(0 < 数値 <= 最大値)も、時々需要があります(Elementコマンドで、要素の番号を指定する場合など)。
上記のループは、
If[ Mod[n, 4] == 0, 4, Mod[n,4] ]
で実現できます。一般化した式は、以下のとおりです。
If[ Mod[<数値>, <最大値>] == 0, <最大値>, Mod[<数値>, <最大値>] ]
この数式を、オリジナルツール
Loop[<数値>, <最大値>]
としてまとめたggtファイルは、以下のリンク先からDL可能です。