【新手入门】mathematica--Do

Do命令:

Do 使用标准的 Mathematica 迭代规则.

可以在 Do 中使用 Return、Break、Continue 和 Throw.

除非使用明确的 Return,由 Do 返回的值是 Null。

Do[expr,spec] 首先计算 spec,然后局部化指定的变量,依次对其连续赋值,每次计算 expr.

Do 实际上用 Block 来实现值或变量的局部化.

Do[expr,Subscript[spec, 1],Subscript[spec, 2]] 实际上等价于 Do[Do[expr,Subscript[spec, 2]],Subscript[spec, 1]].

【语法】

1、Do[expr,{i_max}]
对 expr 计算 imax 次.

2. Do[ expr, {i,i_max} ]
将变量 i 从 1 递增到 i_max(步长为 1),计算 expr.

<span style="font-size:14px;">Do[Print[n^2], {n, 4}]

   1

   2

   4

   16
</span>

 

3.Do[expr,{i,Subscript[i, min],Subscript[i, max]}]
从 i=Subscript[i, min] 开始.

<span style="font-size:14px;">Do[Print[n 3], {n, 3, 5}]</span>
<span style="font-size:14px;">9<p>16</p><p>25</p></span>


 

 4.Do[expr,{i,Subscript[i, min],Subscript[i, max],di}]
使用步长 di.

 

<span style="font-size:14px;">Do[Print[n], {n, -3, 5, 2}]</span>
<span style="font-size:14px;">-3</span>
<span style="font-size:14px;">-1</span>
<span style="font-size:14px;">1</span>
<span style="font-size:14px;">3</span>
<span style="font-size:14px;">5</span>


 

【综合应用】:用蒙特卡洛方法求,pie

<span style="font-size:14px;">ctr = 1000000;
num = 0;
Do[x = 2* Random[] - 1; y = 2*Random[] - 1; 
 If[x^2 + y^2 < 1, num++], {i, 1, ctr}]; N[4*num/ctr, 10]</span>


out:3.140988000

 注意:N[expr]  表示expr的数值

           z.m. input:   N[1/7]

                   output:  0.142857

           

 N[expr,n]
尝试给出具有 n 位精度的结果.

 

 

 

 

  

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值