飛ばしていた、練習 (3) に戻ります。
練習 (1) や (2) で生成したランダムウォークにおいて、ステップごとの位置を求めよ。
練習 (5) で定義した my_foldlist を使えばできます。
ただ、与えられた 2 つの引数の和を返す関数(Mathematica の Plus 関数にあたるもの)が Maxima で見つからなかったので、無名関数(lambda)を使っています。
my_foldlist( lambda( [x, y], x + y ), 0, part( [1, -1], makelist( random(2) + 1, i, 0, 9 ) ) ); my_foldlist( lambda( [x, y], x + y ), [0,0], part( [[1,0], [0,1], [-1,0], [0,-1]], makelist( random(4) + 1, i, 0, 9 ) ) );