Wolfram mathematica 在mathematica中,如何在do循环中执行多个表达式?

Wolfram mathematica 在mathematica中,如何在do循环中执行多个表达式?,wolfram-mathematica,Wolfram Mathematica,我想实现这个功能: 做[ expr(1), 实验(2)。。。 expr(n), {i,1,j}] 要执行expr(k),需要expr(k-1)的结果,因此不能简单地通过多层do循环来实现该功能。如何通过do循环执行函数?或者mathematica中的其他循环?(我还注意到for和while循环与do循环一样只能支持一个expr)尝试用分号而不是逗号分隔。比如: y = 0 Do[y += x; Print[y], {x, 1, 5}] Do循环,以及命令式编程语言中的许多其他控制流构造,几乎总

我想实现这个功能: 做[ expr(1), 实验(2)。。。 expr(n), {i,1,j}]


要执行expr(k),需要expr(k-1)的结果,因此不能简单地通过多层do循环来实现该功能。如何通过do循环执行函数?或者mathematica中的其他循环?(我还注意到for和while循环与do循环一样只能支持一个expr)

尝试用分号而不是逗号分隔。比如:

y = 0
Do[y += x; Print[y], {x, 1, 5}]

Do循环,以及命令式编程语言中的许多其他控制流构造,几乎总是而不是Mathematica编程问题的正确答案

您没有告诉我们应该计算什么
expr
,因此很难提供一个非常笼统的答案。。。因此,我将使用阶乘作为一个简单的示例,说明如何编程一个函数,其中
expr[n]
依赖于
expr[n-1]

fact[0] = 1
fact[n_] := n*fact[n-1]  
这里,我用两条规则定义了阶乘函数;第一种方法建立基本情况,第二种方法为
0
以外的值建立情况。为了避免函数被提供坏数据的情况,我们可能更喜欢这样的公式

fact[0] = 1
fact[n_Integer /; n > 0] := n*fact[n-1]  
在此版本中,函数
fact
将仅对正整数或
0
进行运算


(注意:对于那些精通数学的人a:是的,我知道这不是编写阶乘函数的好方法,而且还有一个内置的计算阶乘的函数。但这应该可以帮助那些看起来完全是新手的人。)

Super,@PengPeng-很高兴为您提供帮助!如果答案回答了你的问题,请一定要“接受”答案。你似乎正在学习数学。你可能想把你的问题直接问到。