我想在 Mathematica 9 中编写一个带有可变上限的 for 循环。所以,而不是
j = 0;
For[n = 1, n <= 3, n++, j = j + n];
j
(*6*)
我想做
N = 3;
j = 0;
For[n = 1, n <= N, n++, j = j + n];
j
n
(*
0
1
*)
. 但是,如图所示,这根本不会给出正确的结果。从值来看n
,循环体根本没有被评估。
我已经查看了有关 for 循环和更一般的循环和控制结构的 Mathematica 文档(并且还进行了一些 DuckDuckGo 搜索),但我仍然缺少一些基本的东西。它是什么?
为了完整起见,我应该注意我的最终目标是将它放在一个函数中:
foo[N] =
Module[{j = 0},
For[n = 1, n <= N, n++, j = j + n;];
j]
foo[3]