多语言展示
当前在线:425今日阅读:112今日分享:19

Mathematica编程入门:[2]循环_2

Do 是另外一种典型的循环函数, 如果是从另外的编程语言转到 Mathematica , 可能会更喜欢 Do 一点吧. Do 与 Table 有什么区别吗? 最大的不同之处在于, Do 只是将的一个参数中的表达式执行 n 边, 当整个 Do 运算完成之后, 不会返回任何的结果.
方法/步骤
1

先来看一下 Do 的语法结构吧, 你会发现与 Table 非常类似.

2

我们拿出一条同样的语句分别用 Table 和 Do 执行一下. 发现用 Do 执行完并没有任何的结果, 这个和我们刚才提高的两者的区别是相一致的.

4

另一方面, 如果我们只对循环过程中计算的某些结果感兴趣, 那也是有收集数据办法的. 比如来看下面的例子. 只收集 100 以内的素数.

5

看另外一种更为高效收集中间数据的例子吧. 这里用到  Sow 和 Reap 的收集方式.

注意事项
1

Do 属于过程式编程下的循环结构, 而过程式的编程范式的效率是相当低的, 但是在 Do 在各个版本的演化之中, 曾经对底层的优化, 效率有了很大的提升(跟 For 相比而言).

2

Sow 和 Reap 要比 AppendTo 效率上好的多.

推荐信息