3
我想寫一個for循環與數學9.因此,一個變量的上限,而不是對於循環變量上限
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
的值看來,循環的主體根本沒有被評估。
我已經通過Mathematica文檔瞭解了for循環以及更一般的循環和控制結構(並且還完成了一些DuckDuckGo搜索),但仍然存在一些我缺少的基礎知識。它是什麼?
爲了完整起見,我要指出,我的最終目標是把這個函數:
foo[N] =
Module[{j = 0},
For[n = 1, n <= N, n++, j = j + n;];
j]
foo[3]
N是保留是我最直接的問題的事實。不過謝謝您指出其他問題,特別感謝您指點我的新手問題問題:我需要一段時間來消化這個問題,但看起來真的很有幫助。另外,您是否熟悉Mathematica與Scheme或Haskell的良好對比?假裝它的Matlab顯然不能很好地工作,但假裝它是Lisp並不總是工作。 –
@ChristopherWhite不要讓語法糖誤導你。 Mathematica是一種功能性的術語重寫語言。有一些結構只攜帶副作用來緩解一些複雜的操作,但通常可以避免。你不應該在Mathematica中使用循環,除了**真的**特殊情況。 –